Ведь моя CMS с тонной плагинов может тоже самое что и ваши модные фреймворки!
Фреймворки используют для выполнения абсолютно любых задач, от обычного блога, до огромной социальной сети (Фейсбук и Вконтакте, например работают на php фреймворках написанные внутри своей компании), и в этом его огромный плюс, ведь изучив один фреймворк на любимом вам языке, например Yii (php язык) вы можете построить любой сервис или веб-приложение.
Для человека, который привык использовать свою любимую CMS в любом проекте, непонятно, какой смысл писать код, например доски объявлений если можно все это сделать установкой одного плагина? Соглашусь с вами, сегодня большинство «нестандартных» задач для сайтов можно решить установкой одного плагина.
Но что если нам нужна лишь одна функция из всех что дает нам этот плагин? Можно конечно попробовать удалить то что нам не нужно, но я вам не советую, это может поломать весь плагин, или даже ваш сайт, если он плотно с ним связан.
Или бывает такая ситуация что нам нужно выполнить сразу две задачи, но одного плагина, который мог выполнить сразу их две – нет. Вы начинаете искать сразу несколько разных плагинов, находите их, устанавливаете, и вы видите, половину того что он нам дает кроме маленькой функции абсолютно не нужно.
А теперь представьте когда вам нужно выполнить сразу десяток мелких задач, и все они в вашей любимой CMS решаются отдельными плагинами? Ведь это сотни файлов, тысячи ненужных строчек кода, и десятки запросов в базу данных при загрузке лишь одной страницы.
В таких ситуациях нас как-бы «заставляют» тащить за собой десятки файлов с не нужным нам кодом, чтобы мы могли выполнить одну или несколько маленьких задач. Из-за этих лишних функций наш сайт заметно замедляется, нагрузка на сервер повышается, и при большом количестве посетителей он может просто «упасть».
Именно в таких ситуациях легче и лучше использовать фреймворк. Вы всегда напишите именно то что вам нужно, и этот функционал будет делать именно то что вы хотите. Ваш сайт не будет грузить десятки или сотни файлов при заходе на одну страницу, и «думать» над ненужными функциями.
Предел в функционале выставляете вы, и вы будете решать чему грузится, а чему – нет. В этом и прелесть фреймворка. Вы получаете полный контроль того что происходит под «капотом» вашего сайта.