I have never really given this topic much thought, as I always think each person defines what they think is semantically correct.
Semantics is a touchy subject, and what it really comes down to is one’s personal feeling on what is semantically correct. Sure there are things that society agrees upon, but it really comes down to the individual.
The H1 tag (or any header tag), is a great tag, and if you are lucky enough to see how a blind user interacts with web pages using them, then you will see how useful they are. I am sure no one can argue that they are useful, but to see this makes you want to use them correctly.
A blind user (from what i have seen) depends on them, and it tells the hierarchy of a page, just as if someone visually looka on a page they can quickly scan page and see what is highest to lowest priority. if you keep this thought in your head, you will make more informed decisions.
The abuse of H1 tags, comes from the fact (i think it is a fact anyway), is that search engine, index them better. So hence the H1 spamming… still the W3C really doesn’t give clear guidelines.
In my site …
I only have the name of the site on the home page in a H1 tag, that is the only time I deem it important… and on my home page the articles themselves I deem as important. so they too get H1 tags…
… then on a main section page I deem that section the most important, so it gets the H1 and articles now get the H2 tag…
… finally on the article page, I deem the article itself as most important, so the article gets the H1 tag
Many sites use the name of the site as the H1 tag throughout, and it can be argued very reliably that it is… but I feel the article itself is what counts, content first, anyone can tell which site they are on, it’s the articles that are variable, and hence should be treated as the most important thing.
Anyway to answer the original question, use as many times as you see fit, and think of them as a “sitemap” to the page .. and you will make more informed decisions.