IMHO anyone thinking about SEO has to answer some basic questions:
1. What's your timeline? i.e. when do you want/expect your site to be relative in the search engines? Quality SEO results don't happen overnight, especially if it's implemented by a novice.
2. What's your budget? i.e. if you have a very low budget then you probably don't have any choice but to do the SEO work yourself, just be prepared to make mistakes and acknowledge that it will take longer than you ever wanted... However, if you have at least $500 to promote your site then you can afford to hire/outsource at least some of the SEO work to "professionals".
3. How much time do you have to train yourself to become a website builder and onsite/offsite SEO expert? Or would you rather run your business and leave the SEO work to professionals? i.e. I'm always somewhat amused when someone suggests that, " You should do the SEO work yourself."
Quality work SEO work takes a lot of time to learn and to properly implement. Plus, Google and Bing are always updating, changing and adjusting their search engine algorithms. If you aren't up to date with the latest changes then you could be missing the SEO mark and not even know it.
There are trustworthy SEO pros who've been working the SEO field for years and years. Anyone who takes their skills and knowledge for granted is foolhardy to say the least. My advice is, don't discount the value of these nerds. The good ones have skills, tricks, techniques that (like any professional) you will never have.
In summary, if you have the budget then hire SEO work done by reputable professionals. If you don't then put on your thinking cap and take good notes because you're going to end up with at least an "Associates Degree" in SEO before you get your site to be recognized by the search engines.
Disclaimer: I am a principal at Dominating Media