The jury of search engine experts over at SEOMoz has weighed in, and here are the top factors affecting search engine placement, according to them, with my comments.
1. Keyword Use in Title Tag
I have said for many years that if I had a gun to my head, and could do only one thing to a web page to optimize it, my choice would be the title tag. Put your keyphrases in your title tag, and remember to optimize each page individually (i.e. don't overstuff your title tag, and have different title tags for each page that reflect the content of that particular page - otherwise, you may suffer from a duplicative content exclusion and find yourself in the supplemental results).
2. Keyword Use in Body Text
Duh. If your keyword or keyphrase isn't mentioned at least once in the body text of the web page, then it does not seem your page is very relevant to that keyphrase, now does it? But don't get all caught up in the keyphrase density myth - there is no magic number of times it should appear. Make sense to readers, and it will make sense to the search engines.
3. Relationship of Body Text Content to Keywords (Topic Analysis)
Google is smarter than you give them credit for, and just stuffing a keyphrase into a completely unrelated page won't do you much, if any good. Your page should be on a topic which is semantically related to the keyphrase which you are targeting in your title tag.
4. Keyword Use in H1 Tag
Oh, for years the naysayers have been telling me that H1 tag keyphrase use meant nothing and that I was an idiot for thinking otherwise. Well the verdict is in and this is the fourth most important factor according to the SEOMoz article. At this point, therefore, we have learned to put your keyphrase in your title tag, include it in your body text, which body text is topically or semantically related to the keyphrase, and head up the body text with an H1 containing the keyphrase.
5. Keyword Use in Domain Name
This is one that I disagree with. I have seen absolutely no evidence of this at all. Do a simple search on the internet for most any search term, and chances are the top results do not have the search query in the domain name. I believe this may have minor importance, but don't go and change your domain because of it. Seriously, you have much more to lose (such as age of domain, inbound linkage, site reputation, etc.) I regularly see clients at the top of Google with domain names containing nothing near the relevant search terms.
6. Keyword Use in Page URL
This is what I have called "descriptive file naming" for a number of years. I believe it is of some importance, again, however, is more of a factor when setting up a new domain than would be for an existing domain with high pagerank and inbound linkage. Changing your internal url's for the sole purpose of meeting this criterion again is very risky, for the same reasons mentioned above.
7. Keyword Use in H2, H3, H... Tags
Well if it works for H1, why not for H2 et al.?
8. Keyword Use in ALT Attributes and Image Titles
SEOMoz incorrectly calls them an ALT tag, but it is not a tag, the ALT is an attribute of the IMG tag. Semantics aside, I believe this to be highly important, I would have ranked this above the URL and domain name items. Experience has shown me that image optimization (image file name, alt attribute, and title) is a wonderful way to make a page more relevant to a desired search query.
9. Keyword Use in Bold/Strong Tags
I always use this method, as well as keyword use within the EM (italics) tag. I believe this to be a moderately important factor as it helps emphasize to Google what your page is about, and what you consider important. Definitely on my short list of things to do for "on page" search engine optimization.
10. Keyword Use in Meta Description Tag
Again, one of my "big 4" for on page optimization. The "big 4" being: title tag, meta description, h1, and image ALT attributes. (I don't include body text in my big 4 as I believe that is self evident). Definitely important, and again, each page should have custom title and meta description tags.