Midi files can be played in Windows Media Player on your computer (or QuickTime) but I find that the default synthesizer is sub-par. WinAmp and foobar2000 allow you to use your soundcard's synth, but there's an even better option. MidiPlayer2 is a free application for Windows that allows you to use a SoundFont to customize the synthesizer. Midis have a reputation for sounding bad, but that's only because most people play them straight through WMP. They are actually capable of rather sophisicated synthesis if played using the right tools.
You can find a download link for MidiPlayer2 on the Downloads page.