Nie ma różnicy funkcjonalnej.
|| jest standardowym operatorem konkatenacji ciągów ANSI (choć niestety nie każda baza danych <cough>SQL Server</cough> zdecyduje się wspierać standard). Wiele baz danych obsługuje CONCAT funkcja, więc może być łatwiej przenieść kod za pomocą CONCAT do różnych baz danych.