MD5 check is used to verify whether the file the user has downloaded matches the one from the server, without any download problems.
The algorithms of how it is generated is very hard to explain. But if you're really curious about how it works:
http://nsfsecurity.pr.erau.edu/crypto/md5.html
- - - Updated - - -
What's inside of the .md5 file you linked is just the MD5 value of the .pak patch file. I'm guessing the launcher is checking whether they match, or it will be re-downloaded. You can create one just by writing in notepad the MD5 value for the .pak file you want to patch, and then naming it with .MD5 at the end.