les includes permettent d'éviter de ce retrouver avec un seul fichier de plusieurs centaines de Ko contenant plusieurs centaines de miliers de lignes. (va tant pour repérer un bug dans un tel fichier)
En plus, pour un CMS, si tu veux l'utiliser pour plusieurs sites, certains voudront tel ou tel module et pas les autres. Avec un seul fichier, ils seront obliger d'encombrer leur espace disque avec les modules qu'ils ne comptent pas utiliser.
Si un jour plusieurs personnes veulent travailler sur la modification de ton CMS, ils seront obligé de le faire chacun leur tour s'il y a qu'un seul fichier. En plus, le risque de perte de modification sera très très important.
Tu veux encore d'autres raison de découper ton code en plusieurs fichier rataché les un aux autre par des includes?
Au fait, personellement, j'utilises aussi bien les objects que les fonctions et les includes.
En fait, a par dans la page principale, j'ai pas une seule ligne de code en dehors des fonctions et des objects. Comme ça, je suis sur que personne ne poura exécuter le code d'une des pages sans que ca soit a partir de la page principale.
Après, à toi de voir comment tu organises ton CMS.