Another option is mplayer (movie player, not to be confused with Windows Media Player)
It's a player mostly used in *nix systems (like linux), but it's also ported to windows, there are links to several windows installer packages by various people on the mplayer site. Like this one:
Here's a few pros and cons of mplayer that I feel should be mentioned.
* it uses it's own codecs (included in the windows installer package above), so no need to download any codecs
* it basicly plays everything playable; divx, mpeg, dvd, vcd, TV (if you have a TV-card), mp3, ogg, real media, wmv, cue/bin, and lots of formats you've never heard of ;P (At least I haven't yet come across any media that it couldn't play)
* it supports all kinds of subtitles without having to install any extra stuff.
* it will play incomplete avi files. If you supply the -idx option, it will construct an index for incomplete avi files so that seeking is also possible.
* it's open source (GPL license)
* by default, it does not have a GUI. There are some GUIs and front-ends that can be added though. Don't know how they are, as I don't use them.
* without a GUI, you have to use the keyboard for controls (volume, brightness, seeking etc...), or possibly with remote control if you happen to have an infrared receiver (the remote must be manually programmed).
* in the case of dvds, it doesn't support menu navigation, so you have to specify which title to play on the command line or through a front-end.