Here is my bottom line on this - if you have a need, learn to do it as the return is high (assuming you have the need). The cost of good SEO is also high and since it is very much abstract, you want to know you are getting what you pay for - and watch out for the snake oil salespeople. Note: We do it, we don't sell it - www.LightsOnGraphics.com - www.Time4Printing.com - www.Time4Texas.com - www.Time4SacramentoPrinting.com.
SEO comes in many flavors and levels.
The first, and least expensive, is that tuneup you may hear about frequently ($149 - $499). My opinion on this - if your website was built correctly in the first place it is already done. If you are being sold this, you probably don't need it. But then again, its 500 bucks - it may be worth getting someone elses opinion. You will hear people say things like relevant page name, page titles, page descriptions, meta tags, keywords and search engine submissions at this level.
The next level comes from those service providers who do monthly SEO service - it's kind of like getting maid service for the first time - a start-up fee (like $499) and then a monthly fee of anywhere from $39 - $99 per month. Here we begin to move in the right direction as SEO is not a snapshot, but a process. Regretfully, customers rarely see a return and terminate the service as this becomes apparent. When this group is selling you, you will hear all the same words from the previous paragraph plus one other - "relevance"...
Finally, for those people who can actually benefit (financially speaking) - learn to do SEO as the process (yes, a process) needs to be continuously worked. Think of it like marketing - it's not something you do once. Add to that, people who know what they are doing with SEO are either doing something themselves or charge BIG $$. Test your need with PPC (Pay-Per-Click (or CPC - Cost-Per-Click); it is not abstract. If PPC provides a return, so will SEO and you will want to do BOTH - this, is not an either/or.
Finally, we don't sell it - we don't buy it - we do it.