As stated above, mkv is just a container format. The encoding of the video inside it can be almost anything.
As for players, there is basically VLC and everything else. Every player just uses the codecs installed in Windows to play video. So Gom, KMPlayer, etc. are actually all doing the same thing - using the K-Lite codec pack you installed to decode the video. The exception is VLC which uses its own built-in codecs. These two cover just about every possible video format out there.
So if a video won't play with VLC and with a codec pack like K-Lite installed, then more than likely the video file is corrupt, or isn't an actual video (could be malware disguised as a video - there have been exploits which relied on Windows' media...