Я думаю, что это зависит от общей цели проекта. Если вы создаете маркетинговый веб-сайт или ваш проект может быть легко реализован с помощью предварительно созданной CMS, тогда вам непременно следует начать с сборки модулей или немного изменить их при необходимости.
Однако, если вы создаете веб-приложение, основная функциональность которого - это не просто контент, а управление страницей, вы должны рассмотреть возможность использования собственного маршрута. Pintrest, Facebook, Flickr и т. Д. Определенно не будут начинаться с готовой CMS.
Лук начался с Drupal в один момент, но понял, что их потребности были настолько обычными, что в итоге они сделали все это на Python / Django. Кроме того, с такими фреймворками, как Python / Django и Ruby on Rails, если вы создаете веб-приложения, вы можете легко создавать нужные вам функции CMS.
Мы много работаем с DotNetNuke, некоторыми Drupal и всеми нашими пользовательскими веб-приложениями, которые мы делаем с Ruby on Rails. Когда у вас есть требования и цели проекта, вы должны посмотреть на свои инструменты и посмотреть, что лучше для работы. А иногда он делает свои собственные инструменты:]