There is an excellent thread
here.
I swear I live, breathe, eat and sleep SEO. I've been doing it as part of building the content on my main site for two years, and I still find new ways to tweak it. It is a never ending battle with no clear answer. Just when you think you have it, the search engines change the rules that they don't share.
I'm currently on the first page for a few terms with over 200,000 searches a month. There are a million reasons why, and I look at SEO like a huge puzzle. You need to put all the pieces in place and you'll always be missing a few pieces.
For me, what has worked is:
Inbound links from authority sites on those topics
Internal linking that's clear and easy to follow
Relevant content for those terms
An aged domain (7 years old)
Keyworded articles with keyworded page titles, h1 tags, bold text keywords.
I'm working harder on getting more inbound links, and also working harder on adding more content.
Those are the basics that work for me, but it truly is a constant learning experience. I read everything I can about SEO and implement what I can that still provides the user with a decent experience when they reach the page.