Motherger,
I have been working with the web since 97 and used to do search engine optimization professionally in the early days until the sheer size of the web and the variencies of the engines made the process overly complex and obscure.
Since then I have worked with literraly dozens (maybe even 100 plus) such companies and they all have one thing in common. None of them can deliver what they promise, not one, ever.
Many of these companies are run by kids that have had some modest success with minor search terms and assume that what little they know can be applied across the board to any search term which isnt always the case.
If you do decide to use one of these companies insist on speaking with their past clients and look carefully at their past work, dont take their word for it. Then make sure you have a well defined and rock solid refund clause in place.
Better still leave them alone and take some common sense steps to generate your own traffic. Google ad words, as has been noted already, are an excellent way of generating traffic. Make sure you can measure your traffic adequately, you need to know not only how many people come to your site but where they come from and how they got there (what search terms and engine, did they come from email etc etc).
Get a really good domain name that describes your product, then go out on the web daily and find other sites that may link to yours and arrange reciprocal links, google ranks sites higher depending on the number of 'Valid' links they have from other sites (however you cant just put up a website with a million links to your site, that will be link spamming and get you kicked off their database).
Its a lot of work to generate good, qualified traffic to your site but its well worth it.
Hope this helps a little.
Adam