Bill's correct about the background noise thing. Sometimes the slightest hum or little noise that might seem insignificant can throw off the recognition.
There are a lot of decent microphones out there and yours really doesn't have to be an expensive one, but, be sure to position the mic at the corner of your mouth as opposed to directly in front otherwise, you're likely to experience a lot of "poping" type sounds when pronouncing words that begin with the letter P.
Do not talk to it with gum or a cigarette in your mouth.
Speak clearly and enunciate each word as if you were talking to a child. Speak with a tone about as loud as you would to a person sitting next to or in front of you (provided they're NOT hard of hearing...WHAT?!)lol!
Personally, I've had a lot of success just using the one that came with WinXP. The training routine is really the key and the more the better as Bill mentioned.
Good luck!