HMVC - основной архитектурный шаблон проектирования, используемый web-разработчиками. HMVC прекрасно справляется с возложенными на него задачами, а именно - распределение логики приложения между контроллерами, моделями и элементами представлений.
Однако, в сложных web-приложениях происходит утолщение контроллеров либо моделей. Причем утолщаются либо классы файлов моделей, если эта логика связана с запросами в базу данных, либо классы файлов контроллеров, если это любая другая серверная логика. Со временем файлы контроллеров или моделей становятся сложными и проблемными в использовании.