1) Основная, главная, не знаю, как ещё сказать, идея CMS - отделить контент от способа его представления и предоставить админку для того, чтобы чайник мог им управлять. Всё остальное - выбор языка, базы данных, структуры проекта, MVC, etc - решение конкретного разработчика!
2) Мне кажется ,в наше время писать CMS - это странно. Если Вам нужна CMS - возьмите готовую, если Вам нужна база для более серьезного и гибкого проекта - возьмите один из современных фреймворков!