I've just come back from Internet World in London. One of the things that struck me about Internet World is that businesses are now starting to think about the Internet as a main distribution channel and not just an add on. ie. Throw a web page together and be done with it.
SEO (Search Engine Optimisation) was HUGE at Internet World. Businesses were willing to charge you and arm and a leg for the privilege of being on the first page from a search on Google. Theses SEO experts were all saying the same stuff. In fact if you went to the Google University at 9am you could learn everything you needed for Free! So why are businesses prepared to spend a small fortune instead of doing it themselves?
Time, Patience, Knowledge? All of them?
The basic premise of getting a decent SEO campaign off the ground is:-
 Context is King. So make sure your content is relevant, accurate and up to date
 3 Links is deep enough. So make sure your content is easy to find and no more than 3 links from the main entry point into your site
 Search Engines can only read text. So don't go all Flash & Video. Make sure you actually have text and not just graphics.
 DIY is just as good unless your a BIG business. You KNOW your business better than anyone. You KNOW what your customers are going to be searching for - so make your site suitable / relevant and you will get a decent ranking.
 Patience is a virtue. Unless you have a tier 1 site like the BBC or CNN, its going to take a while for your site to become "known"
I would recommend any small business out there to do a little research into SEO and learn the basics before they go off and spend a small fortune with an "SEO expert". Even if you decide not to do it yourself you'll be better informed and be able to steer the "expert" in what your customers are likely to search for.