VLC supports a plethora of codecs out of the box, it can transcode files from one format to another or even rip DVDs, is available on multiple platforms, and was recently updated to include GPU decoding. For the longest time I've been a fan of this versatile media player, and thus I haven't really bothered to look elsewhere for my video playing needs. However, I've also found that on occasions it can be a bit sluggish when starting or skipping around videos (especially with .mkv files).
Looking for alternatives I stumbled upon SMPlayer, which is a multi-platform multimedia player front-end for MPlayer. It may not have all the bells and whistles that VLC or other players do, but it's light on resources, easy to use and seems to work smoother when it comes to video playback and rendering subtitles. That's not to say SMPlayer is lacking features, though. In fact, one thing I really liked is that it remembers the settings of all files you play. You can start watching a movie, close it, and then resume at the same point you left off with the same settings: audio track, subtitles, volume, etc.
Other features include audio and video filters support, playlists, multiple speed playback, video equalizer, automatic subtitles search in opensubtitles.org, configurable keyboard shortcuts, and more. Available for Windows and Linux, installation is pretty straightforward and lets you download all the latest MPlayer codec packages during the process. If you're looking for an alternative to your current media player, don't hesitate to give SMPlayer a try.
There are quite a few media players out there that are also worth mentioning -- KMPlayer, Zoom Player, Media Player Classic Home Cinema, among others. Feel free to share your favorite in the comments and tell us why it's the best.