SID
Например у меня главный index, которому передаётся параметр PAGE организован так:
1. Проверяется целостность системы.
2. Проверяется лицензия (проверка на дурака, но в принципе можно при необходимости что-то наваять...)
При успешном пункте 1 и 2
3. Выбираем из базы информацию по id=page
3.1 Подготавливаем титлы, меты, подписи и прочую инфу по данным из базы. Делаем доступными переменные типа $title.
4. Если суть страницы текст - обрабатываем текст в переменную $content.
5. Если суть страницы обработка внешнего модуля - инклудим в индекс модуль, указаный в бд.
Внешний модуль занимается своими делами, не думая о БД, авторизации и проч.
В итоге занятий своими делами подготавливаем переменную $content.
Ассигнуем всё это добро в смарти.
+ ещё подключение библиотек
+ ещё работа с щаблонами (генерация меню, топов, проч)
+ ещё работа с блоками
+ ещё возможность "тюнинговать всё систему" - есть папка , допустим tune и индекс первым делом инклудит все файлы из неё.
Какие плюсы (имхо):
1. Простота создания новых модулей.
2. Легко пофиксить ошибки
3. ЧПУ - легко