WCF поддерживает также TCP, UDP, MSMQ и возможность написания своего протокола, что не мало важно. Если есть опыт в Asp.Net Mvc , то Web-api будет намного привычнее чем WCF, ибо структура приложения та же сама. Лично мое мнение - сервис по работе с текстовыми данными - делать на web-api, а сервис по работе с файлами (если нужно вообще (загрузка/отправка)) делать на WCF. Передача файлов по TCP немного быстрее чем по HTTP. + в web-api нет транзакций как в WCF.