Or, you could, y'know, design you pages right?
Of course we need this intrusive caching system inspecting every page, because you cannot design a page that only contains the items that change, with all the static content stored elsewhere. After all, it's not like you could design a page that was just a small XML file of the data that changes, with an embedded link to an external XSLT that contains all the unchanging elements, and let the browser do the expansion. It's not like that would allow caching, content distribution, local caching in the browser, better separation of data and presentation, better scaling to the rendering environment, or anything like that.