A – Because the browser does not work the way you think it should. When you press F5 the browser requests the resource it is currently on AND resources directly linked to that page – images. I set up a web site to serve images with an expiry time. The idea is that most of the graphics in the skin change rarely. The browser does not need to down load a fresh copy for each request.
Fired up fiddler, pressed F5 a few times and got stumped. Every time the browser was making a fresh request for each image. When I moved to requesting the page via a link, even a link on the same page, I saw the cache work as I expected and the requests vanished.