MIDI is, for all intents and purposes, textual data. It is up to your own, personal sound card to produce the sounds that you hear. Thus, if your sound card is integrated or a simple SB Live variety (even the $300 ones), you won't necessarily get good sound.
In fact, I could go out right now to buy a $2000 sound card and have very poor quality when playing a MIDI file. The beauty lies in the sound bank currently used, and the more expensive cards merely allow for larger sound banks to be stored.
There are also very few GM (General Midi) sound banks that produce a great sound right off the bat, because you have 128 channels attempting to produce one instrument per. To truly make a realistc sound, you need a larger bank that includes individual slurs, legato, and so on for individual instruments. There are some collections entirely devoted to strings, for example, that run several GB.