Thanks for all the replies. Yes clearing the cache certainly does the job but many visitors of my site have this problem, so that's not a viable solution. In some instances, the page they were seeing was weeks old.
I think this particular site of mine has an unusual problem with caching. As I said in my first post, on this site of mine , when I make a change to the page, pressing F5 doesn't reload the page from the server, so I don't see the change. However on another site of mine  also static HTML pages, if I make a change, then press F5, the page IS reloaded from the server and I see the updated page. So clearly something is broken with my first site .
I read through the link that markbrown4 gave me (above) to see what can be done to force an update. I've tried various settings in my .htaccess file and using the Live HTTP Headers plugin in FF, I can see that these settings are being picked up, but it is as if they are being ignored. Here are the things I added to the .htaccess file:
Expire after 2 DAYS
Header set Cache-Control "max-age=172800, must-revalidate"
Expire after 1 HOUR
Header set Cache-Control "max-age=3600, must-revalidate"
Even waiting an hour or more, if I press F5 still doesn't reload the page from the server, as I expected it to do.
Pressing F5 should reload the page from the server as it does on other web sites including my site , but for some reason, F5 doesn't work on  (and I'm sure it used to, btw). There must be something on the server end, but I can't figure out what.