The goal of a CMS is to provide a means of creating, categorizing and publishing content. Joomla is a Web based CMS for managing content intended for publishing to the Web. I chose Joomla because it is feature rich, yet relatively easy to install and use.
In the past, in order to publish content to the Web required the creation of a static Web page. Each Web page's graphic design was either uniquely formatted or duplicated, and then all the pages were linked together to form a website. In the static page approach –editing, revising menus, assigning content to menus and revising graphic design– became increasingly complicated in relation to the number of Web pages.
A CMS is an entirely different approach to managing a website. With a CMS, topics (articles) are created in an administrative "backend" and then published in the desired order and to the desired menus. Menus are created in backend and "magically" appear on each webpage based on that page's template. The format (graphic design) of any particular Web page is managed in the back end as well by assigning a design template to the page (menu). The CMS approach can simplify the task of managing the content, menus and format of a website as amount of content grows and changes. However; if the goal is to have a unique graphic design for each Web page, then a CMS may not be the best solution.
As a website grows and changes over time, one of the big challenges has to do with managing menus (adding, revising, deleting, re-ordering). With Joomla, for example, there is a section in the backend where the menus appear in a list. A menu name can be renamed, deleted and the order in which menus appear on a Web page can be revised. Another challenge has to do with assigning content to menus. Another section in the backend lists all the articles (content). Each article can assigned to a menu or reassigned to a different menu. An article may be published, unpublished, published beginning on a desired date and unpublished on a desired date.