The biggest problem nowadays, though, is that we're building sites more and more that aren't crawlable by the search engines. Basic site structure and usability issues plague many sites. A good SEO will fix those issues.
It's not the link building or content that needs to be fixed, what is needed is the skills of a competent technical SEO who understands web dev. In many cases a site just needs to fix it's site structure and the crawling issues and it will rank well.
For example, I've seen plenty of sites that have over 1 million pages of content but the only way to get to those pages is through an XML sitemap--that's not SEO.