Разница большая, как между файловыми дескрипторами и сокетами. Не знаю, как там с мультипоточностью в фифо, но в тредах у них точно проблемы. А с сокетом все просто: accept(), fork() и вперед. К тому же сокеты относятся к сетевой подсистеме, для них есть свои буфера и sysctl'ы. И именно они предназначены для клиент-серверного взаимодействия.
А фифо это чето такое из мира применения perl )