Speech recognition: words vs. phonemes One could train a speech recognizer with words or phonemes. I guess that they both have their pros and cons:


with words there would be a lower error rate as phonemes can be put together building a non-existing word (this case would be impossible with word training)
using words would require a larger database and more space and processing time
phonemes are way more general: with all phonemes you can build all existing words, but with all the words in the database you can't recognize all the words in the language


I'm wondering if there is a reason to prefer one over another, or if in some cases one is better than the other. Do both methods have practical applications? Which ones? What are their pros and cons (apart from the ones I named, which may be wrong so feel free to correct me)?
Most modern speech recognition systems are based on Hidden Markov Models. These are probabilistic models that require a previous training. 
So here is simple comparison:  


By using phonemes you have a reduced number of possibilities (around 50 depending on the language), you get a lot of data to train each phoneme model, by combining several models you can have word models. 
By using word models since the beginning, you would need to have thousands of models to train and probably not enough data.


If you are working on a very simple recognition system, with a very limited set of words, for example, recognition of numbers, then maybe you can use words models that don't require HMMs.