That's what the cache is intended to do. It stores versions of pages that aren't going to change (or parts of pages - that part's kind of complicated to go into, and it means using edge-side includes on your pages). That means the Apache server and PHP don't have to figure it out from scratch every time a visitor hits the page, and it can often serve the page from memory rather than from disk, which is a lot faster. It also tells the user's browser (and other servers along the path) to keep a copy of everything that is unlikely to change for a long time (like CSS and JS files, images and so forth) so they don't have to request them again at all for a long time.
It an be a genuine pain in the sitting-down parts when you're trying to develop a site, but it lets you do an awful lot more an awful lot faster with "less server" in production. It's sort of expected that you'd do your development somewhere other than on your production server, and that a few minutes' delay deploying updates isn't quite as important as making sure your users don't have to wait forever for your pages to load. The .htaccess file command will let you do immediate updates (although you might need to clear your browser's local cache by removing your site from your browser's history). Once things are the way you want them, you'll probably find that your site performs better with the cache enabled.