Занимался друпалом с 6-ой версии.
Перечислю почему он крутой?:
1) это не фреймворк, а именно CMF, т.е. это больше CMS и там уже решаются кучи РЕАЛЬНЫХ проблем.
Проблемы тут не избегаются, не умалчиваются, а решаются. полностью настраиваемое ЧПУ, мультиязычность, нормальные меню и т.д.
Смотрел многие другие CMS - по сравнению с друпалом они как моськи со слоном
2) Там все основано на системе хуков,
это типа этих паттернов, многие ооп программисты не любят эту архитектуру, лично я с ней нормально уживаюсь. Эта архитектура дает возможность крутой модульности.
3) Модулей под друпал тысячи, причем не чушневых модулей, а реально полезных. Плюс качество тех модулей которые зеленые очень высоко.
4) Новые модули:
- добавляют к ядру новый функционал
- изменяют(настраивают) поведение ядра
- добавляют/изменяют поведение других модулей.
Все благодаря хукам.
Плюс модули там не только, которые какие то фичи добавляют, а такие модули которые позволяют конструировать сайт(***).
Перечислю проблемы:
1) Изучать все ЗАНОВО нужно для каждой версии.
Сейчас например 8-я будет, уже на Симфони.
2) Изучать нужно не столько "кодинг" под друпал, сколько умение пользоваться готовыми модулями(см. ***).
Чтобы понять это ДАО надо уверовать и потратить огромное количество времени.
Для примера -
как они создают функционал тикетов на сайте. Это без программиста делается.
3) Изучение API для программиста. Там доки примерно нормальные есть, но скажем так - это самое основное. Например есть книга как то называется - Библия друпал, страниц на 1000, так там самые основы.
Фишка друпала в модулях, а с доками по API к ним уже не так хорошо.
4) Как то заказчики для друпала болезненно не любят "свои модуля", хотят чтобы готовыми модулями с drupal.org(типа проверенными) их сайт создавался. Они таким образом типа не зависят от "нахлебника" программиста. Это у них почти на официальном уровне такая идеология.
5) С другой стороны когда настроишь друпал модулями, обязательно захотят каких то изменений и встанет вопрос - а как это сделать? Еще найти КАКИЕ ТО модули, которые настроят предыдущие? Маловероятно под все хотелки. И тут надо писать код. А чтобы писать этот код, под друпал и его модуля, надо знать очень прилично всего, чисто по объему. Тот же магазин уберкарт - это набор десятков модулей со своей идеологией, которую приходится изучать методом тыка, со своим API.
6) С друпалом довольно специфично и не комфортно договариваться с людьми о сайте.
ТЗ почти никогда они же не могут сделать, даже свои хотелки выразить на бумажке проблема для большинства.
Для самописа и фрейма ты можешь делать и изменять по мере надобности.
Но не в друпал.
Ты можешь 2 дня искать комбинацию модулей и порядка действий как настроить некий функционал. Но если они начнут "изменять хотелки", то либо отказывать в изменениях хотелок или труд в трубу. Ну или если есть хуки то докодить.
Для простых сайтов и типичных или для студий, где опытные менеджеры убалтывают на сборки эта проблема не возникает. Но чуть сложнее и понеслась.
7) Изучение API программиста. Там вроде есть и доки и т.д. но все равно как то оно...
Типа как когда есть отличные комменты к каждой функции, но в реальности надо знать в каком порядке какие функции применять и тут уже нет простоты.
Лично я ухожу от друпала в сторону фреймворков, т.к. тупо один я в мире друпал не тяну

:
- в основном из-за выхода новых версий, которые обнуляют твои старые знания и долго переучиваться
- современный Drupal 8 будет еще сложнее в изучении для программиста, т.к. он на компонентах симфони. Также не забываем что настройку сотен новых модулей переучивать тоже.
- не уверен в скорости работы Drupal 8 ...
_____________
There never was a struggle in the soul of a good man that was not hard