If you are thinking about purchasing SEO, make sure you read this entire post to know what you should receive from SEO companies.
The first thing these companies should look at is your website's content and the overall structure of your website. You should be given a detailed review on your website content and structure so you know what you're doing wrong and what needs to be improved. They should tell you about errors on your page, broken links, etc.
They should also tell you how to build and manage your online marketing campaigns. Yes, this falls under SEO and they need to help you better your campaigns to reach the correct audience and get the most for your money.
Keyword research is a huge part of SEO and they should always tell you which keywords to use and which keywords not to use. If you own abc.com and your main keyword is "abc.com" you will fail. They should tell you that no one will be searching any search engines specifically for "abc.com" and that you should be optimizing your site for the keyword "abc" instead.
SEO training is not a must but there are a number of SEO companies who offer SEO training with every SEO service package bought. You should look for these companies as it will help you do your own SEO later on with other sites and you don't need to keep paying for these services.
When to hire an SEO specialist? Right away! If you just built a new website or you're thinking about creating a website, do your research on SEO companies now. The earlier you get it done, the better.
Before you purchase any SEO services from anyone, make sure you do your research and ask questions. Don't be afraid to ask questions. If the company is not open to questions, stray away from the questions, change the subject or just flat out refuses to give you an answer to any of your questions, chances are they don't know what they're doing.
Make sure you ask the company for previous experience, what type of methods they use (white hat, black hat, grey hat, etc.), how long to wait till you see results, etc.
Just remember to do your research first as SEO services are expensive and no one wants to lose that kind of cash.