A video player is pretty much the quintessential desktop application. Everyone needs one, and there's hardly any desktop distro that doesn't pre-install one for you.
You'd think the popularity of a video player would be directly proportional to the number of container formats it can handle, but this isn't the case with Linux media players, since the top ones can deal with just about everything out there.
In addition to playing locally stored files, video players can also play streams, and some help you create your own video streams.
Back in the day, though, it was a different scene. Playing video from a DVD was quite a task, and there weren't many Linux players that could do it properly. Developing a video player is a herculean effort, and the various regulations don't make it any easier.
Nearly all DVDs are protected with the Content Scrambling System (CSS), and it's up to the DVD Forum to decide whether your media player can play encrypted DVDs or not.
Since Linux developers don't like to be bullied, they use the libdvdcss library, which is a reverse-engineered solution to get around the protection on encrypted DVDs, though unfortunately libdvdcss is illegal in some countries. In addition, there are common components between the various media players.
MPlayer, VLC, and Xine get lots of codecs from libavcodec and libavformat, produced by FFmpeg, while Totem can be configured to use Xine to play media. So grab a DVD and some popcorn, and let's find the best Linux video player.