I'm sure that I don't need to introduce you Joomla: this powerful, (more or less) user friendly CMS (content management system) is well known and widely used nowadays. It assists the user in quickly publishing its articles and news stories, while relieving him from some of the needed in-depth HTML and CSS knowledge. This sort of CMSs were, and are, a key factor for the “Web 2.0” revolution (whatever this term means for you!)
However, this great, added flexibility come with a cost: performance. Joomla and other free CMSs heavily use object-oriented PHP scripts, leading to quite high load on the hosting server. The net result is that while a cheap server machine can sustain thousands statics HTML pages and many hundreds “light” dynamic pages, the very same machine can find itself in troubles trying to provide more than few Joomla's pages.
Of course these performance bottlenecks are well know to Joomla developers. In fact, both the latest Joomla 1.7.0 release and the previous 1.5.x branch give the user a choice between two different caching systems – both realized with the precise intent of raise Joomla performance by caching the HTML output produced by a module or by an entire page.