Det finns ingen funktionell skillnad.
|| är ANSI standardsträngsammansättningsoperatorn (men tyvärr inte alla databas <cough>SQL Server</cough> väljer att stödja standarden). Många databaser stöder en CONCAT funktion så att det kan vara lättare att porta kod med CONCAT till olika databaser.