Gaaaanz früher hat man Webseiten mit reinem html Code aufgebaut. Man hatte html Seiten und dazugehörige css Stile. Eine solche Seite hatte ein Menü und die Menüpunkte waren jeweils mit einer anderen Unterseite verknüpft. Wenn man dann irgendwann später einen neuen Menüpunkt hinzufügen wollte, dann musste man für jede Unterseite einen neuen Menüpunkt hinzufügen.
Dann hat man angefangen, das "dynamisch" zu programmieren, dann hat man mit der Programmiersprache PHP ein einziges Menü in die Seite eingefügt und musste die Änderung in nur einem Dokument durchführen und alle Seiten haben dann diese Änderung eingebunden.
Und mit Content Management Systemen ist man noch einen Schritt weiter gegangen. Joomla! ist ein solches Content Management System (CMS), das auf einem Webserver läuft. Ein Content-Management-System vereinfacht die Aktualisierung von Webseiten und ihren Inhalten. Der Inhalt der Webseite wird dabei in einer Datenbank gespeichert, um die Funktionalität kümmert sich Joomla und um das Design kümmern sich die Templates. Für fast alles, was wir an einer Webseite machen wollen, müssen wir also nicht in irgendwelchen PHP Dateien basteln sondern haben eine grafische Benutzeroberfläche bei der wir alles Mögliche einstellen können.