In a nutshell.... The good ones are going to be expensive. The cheaper ones will probably be rip-offs. Years ago search engine optimization companies really could help sites get a good ranking because it was more about meta tags and on-page criteria. These days, how well you rank depends so much on your marketing and how well you get enough inbound links that using an SEO company is very risky.
Don't get me wrong, there are a few companies out there that really understand the SEO rules and teach people how to build long-term traffic, but the one I'm thinking of mainly works with corporations and costs 4-5 figures per month.
In my opinion it's best to read up on SEO and understand that it's all about getting quality backlinks. How do you do that? First writing useful, UNIQUE content in your niche, which will result in people linking to you without you even asking (over time). Posting on related forums, commenting on related blogs, connecting with other webmasters in your niche to see if there's some way you can work together, etc. I would focus on doing that and save your money.

It takes time but with hard work and patience, you'll get there.