If we polarise SEO there seems to be perhaps two camps. SEO's who are trying to create better websites and SEO's who are simply trying to create enough link spam to get their client's sites ranking.
Ben McKay makes some interesting points in his post about SEO as branding. He talks about latent semantics and how websites should be themed in order to give clear messages to search engines.
As I said in my post about SEO as a quality control measure, SEO is in many respects simply that, quality control for websites. If your website is structured so search engines can spider and index it you dramatically improve your site's chances of being ranked.
As Ben said, SEO is about making lots of incremental changes to your website. For example are you looking at the bounce rates of individual pages? It can be sobering to see your page ranking on page one for the phrase you were chasing and bringing in traffic only for most of the traffic to bounce.