My bad, I should've included links. :doh:
KMplayer-
http://www.kmplayer.com/
Zoomplayer-
http://www.inmatrix.com/
CoreAVC -
http://www.coreavc.com/
Both players are free, though ZP requires a fee for playing back DVD discs and if you want to change the default codec for something (I will explain this below and help you get started). CoreAVC is commercial.
ZP comes with one nice feature which is the install center. That thing downloads codecs for you. However, KMplayer comes with everything you need out of the box. So you can start with KMplayer and then tweak things you want to improve by getting alternative codecs. KMplayer has more options and is more powerful but can be a bit more complex. They have a nice forum for help, its better than ZP's forum.
Ok, getting you started on Codecs. The codec directshow uses for decoding a specific format is based on the filter's "filter merit". If you buy ZP pro, it will ignore the filter merit and you can select what codec ZP uses. You an use a program like radlight filter manager (no stable link anymore but google should produce an archive for it) to set your codec merits. FFDshow has a GUI for selecting which codecs it will take the highest merit for.
Basically, FFDshow is 90% of what you need for video decoding. It is open source and free. It has forked a few times though and even just figuring out which version to use can be confusing. If you use KMplayer, you can ignore this problem. They integrate ffdshow into the player and use the best build that works with it. For the standalone ffdshow, I've been alternating from the versions posted at afterdawn and the ffdshow tryouts. I am currently recommending the ffdshow tryouts:
http://ffdshow-tryout.sourceforge.net/.
Besides the basics like divx, xvid and the like it will also handle quicktime, FLV, realmedia and a host of other obscure codecs. It does these the best. The codecs its does not do well with are the WMV codecs (including VC1) and AVC (h264/x264/etc). For AVC, as I suggested, I like CoreAVC. For the WMV ones (except VC1 which coreAVC does best) I've been forced to use the MS codecs and then pipe it into ffdshow for post processing.
Post processing is where you can loose a big part of your life if you are on the quest for the perfect picture. It is purely subjective and dependent on the setup of your hardware. So no one's settings will work for you. I have 4 HTPCs attached to 4 different TVs/receivers and each have different post processing settings. The main one you will definitely want to use is the upscalling/resizing filter. This will make lower res content (such as SD and the low quality TV/movie rips you download) much prettier on your 720p/1080p display. However, if you have the bandwidth, I'd recommend using usenet or join a private bittorent tracker to get 1080p (or in a pinch 720p) rips.
FFDshow does audio decoding as well. Again, something you don't have to think about if you use KMplayer, till you run into a quality issue or problem. There is another audio filter called AC3Filter:
http://ac3filter.net. I used to favor it before I switched to KMplayer. Now I let FFdshow do almost all my audio decoding, including AC3 passthrough.
Hope that helps to get you started. For more info you should check out
AVSforums and
Doom9. Doom9 is the best forum for this kind of material but they can be hard on noobs. From there the forums of the HTPC apps you end up using will finish off your end user experience.
Edit: Oops, forgot about splitters. Generally, Haali's media splitter (
http://haali.cs.msu.ru/mkv/) and the default source spliiters will do what you need (though, just to note, proprietary formats tend to need splitters like FLV, quicktime, realmedia, etc). Haali is automatically installed with CoreAVC. I've switched to using Nero's digital parser for some containers because Haali seems to block ffdshow post processing for some formats (off the top of my head VC1 and quicktime were two of those). However, you need to install Nero's showtime to get access to that splitter.