Es gibt keinen funktionellen Unterschied.
|| ist der ANSI-Standard-String-Verkettungsoperator (obwohl leider nicht jede Datenbank <cough>SQL Server</cough> beschließt, den Standard zu unterstützen). Viele Datenbanken unterstützen ein CONCAT funktionieren, sodass es möglicherweise einfacher ist, Code mit CONCAT zu portieren zu verschiedenen Datenbanken.