Кстати, я обычно еще всегда ищу и читаю критиков интересующей меня технологии — как правило, там оказывается очень полезная информация, которую от сторонников вы не услышите. Основное это то, что нестандартные для CRUD операции все скопом пойдут теми же POST запросами; что вызов функций получается, так сказать, гетерогенный — часть параметров берется из URL, а часть — из самого запроса; также часть результатов можно вернуть стандартными кодами HTTP, а для части приходится придумывать что-то еще.
Иногда построенная логическая модель может быть неудобной в реальном использовании — как, например, выразить в REST, запрос типа «найти всех пользователей, интересы которых пересекаются с интересами текущего пользователя»? То есть, субъективно, разработать REST API сложнее, чем C-подобное API. Ну и по мелочам — нет поддержки транзакций, но это для простых сервисов не так важно.
Пара критических заметок (на английском):
1,
2.