Фреймворки - это готовые наборы скриптов для создания CMS под собственные нужды. Как правило, необходимость в использовании фреймворка появляется тогда, когда сайт нужно дополнить нестандартным функционалом, или если планируется высокая посещаемость сайта и нужно чтобы все компоненты и запросы выполнялись максимально быстро.
Лично я сегодня перевожу по мере возможности все старые сайты на разных движках на созданную мной на фреймворке CakePHP собственную CMS и рекомендую всем создавать сайты на фреймворках. Объяснить это могу целым рядом причин, связанных с функциональностью, скоростью работы создаваемого движка, а также простотой и быстротой настройки.
В основе работы любого фреймворка лежит модель MVC (Model-View-Controller), позволяющая быстро создавать CMS на основе фреймворка и легко изменять, редактировать и обновлять структуру созданного сайта без видоизменений движка CMS.
Для создания сайтов и порталов с высокой нагрузкой использование фреймворков также неизбежно, поскольку вы сами можете подобрать нужное минимальное количество запросов к базам данных, необходимое для обеспечения должной работоспособности сайта без ущерба функционалу. Все известные фреймворки достаточно распространены, ежедневно их использует все большее количество программистов, входящих в разные сообщества, вступив в которые можно быстрой найти ответы на интересующие вопросы по данному фреймворку, а также решить возникшие проблемы с использованием.