I think many businesses on HN should be doing their SEO in-house rather than contracting out. My reasons at length:
http://www.kalzumeus.com/2008/01/28/why-you-shouldnt-pay-any...
There is also the factor that to be good at SEO, really good at it, you have to integrate it into your ongoing operations. It is like marketing: you can't put a firewall between the product and the marketing and just toss stuff over the wall and expect it to work.