CMS стоит использовать если она в полной мере решает основные требования ТЗ, в противном случае - не стоит. Например если вам нужен блог - выбор очевиден, это wp, если вам нужен эл. магазин - PrestaShop, если сайт-визитка MODx. В случае, когда задача сильно отличается от того, что предлагает CMS , ее использоуавть не стоит потому, что в основном будете бороться с самой CMS.
"С нуля" пишут только:
* для получения опыта
* что-то быстрое на 50 строк
* "что-то уникальное" (к сожалению 95% этого - шлак)
* программисты, считающие себя Д'Артаньянами
Обычно система строится на базе фреймворка, он в свою очередь подбирается под ТЗ, например Symfony хорош для сервис-ориентированной архитектуры, Zend - как набор библиотек, Yii - для средних целостных проектов, Silex - для небольших проектов, так же не плох Laravel.