Some companies are more than capable of handling SEO in house, for 4 years I managed the search engine strategy for an insurance company and it worked very well. The only problem with this strategy is you need to have a very skilled person handling the campaign rather than just somebody who thinks they know a bit about the subject.
I read a quote on the DP forums today that summed things up pretty well:
you can google and buy ebooks which will tell you what most SEO’s do and how to do it. But when your car brakes down, do you learn how to be a mechanic or do you pony up the expense take it to the garage which charges you through the roof?
The people who attract wealth in life are those who specialize in something and become the best in it – they outsource the work they aren’t so great to other people who are the best at what they do.
90% of SEO isn’t rocket science and most people with experience in web design, programming, apache and marketing could figure it out.
The other 10% is where skilled consultants earn their fees.