Related question: How do you evaluate SEO/SEM companies? What are common services/prices?
Essentially, you can spend as much as you want on "SEO" and, at some point, that spend correlates to a negative return.
Google's recommendations are all valid (and, sadly, necessary - though the new trend is funneling large sums into "social media"... same hucksters, new buzzwords).
If you define Search Engine Optimization as the practice of building an application which behaves predictably for search engine crawlers and returns content in a manner which spiders can easily interpret, a competent web designer, developer, and sysadmin are all you need.
If you extend the definition of SEO to include link building, keyword analysis, or other services which are sometimes offered by SEO firms, you're really not talking about SEO any longer - each of these specialties is loosely related to the goal of SEO (get more traffic, more conversions, more money from your website) but the similarities end there.
Link building is a business development/marketing task (though links do affect search engine ranking, this task has nothing to do with making your site spiderable and everything to do with making your site appear to be popular).
Keyword analysis is a variant of market analysis - though it doesn't take an expert (just time) to find which keywords are most popular and plan your content and link building efforts accordingly.
Other services - like site usability auditing - can have a huge impact on how successfully your site converts visitors into customers, though you may want to seek out a specialist versus hiring an SEO firm.
Does a hacker with good IT skills and time to read articles/posts on the net can produce the same value by himself?
Best case scenario, if SEO firms can deliver everything they promise, there's nothing stopping them from helping your competitors outrank you for a price - if you have the option/time, keep the knowledge in-house.