When a search engine spider reads the text of your webpage, it sees a lot of words. How does it figure out whether the topic of your page is the word "the", the most common word on the page, or "Thneeds", the product you're selling? It's partly a matter of the search engine ignoring common words like "the", but it also partly depends on the HTML markup surrounding your keywords.
Making your keywords (or phrases containing them) bigger help, but did you know that how you make them bigger makes a difference? Let's say you want the search engine to notice the words "SEO Secrets" on your page. Here are two ways to do it (there are more variations, but these two will serve to illustrate):
<font size="+3">SEO Secrets</font>
Which one do you think the search engines weigh more heavily? The second. Why? Because a font tag only taks about appearance. H1, on the other hand, is a semantic tag. It means "header 1", or in other words, "the most important kind of header". Less important headers (subheaders) are indicated by h2, h3, h4, etc. So not only does that tag make the text bigger, but it also says "this is what my webpage is talking about."
For a long time, I avoided using header tags because they didn't give me enough control over the appearance of my web pages. That's because each web browser displayed them a little differently--different font, different size, different amount of space above and below. The space above and below was the real killer--I wanted normal line spacing.
With the advent of CSS, that's no longer a problem, because you can override the browser's default presentation style. I won't go into a detailed discussion of CSS here. Suffice it to say, you can do something like this in your stylesheet:
font-family:Palatino,Times New Roman,Times;
In this way, you can set the font, size and surrounding margins for all h1 tags to your specifications, so that you get the SEO advantages of semantic markup without messing up your page design.