An MD5sum is a quick way to verify whether or not a file has changed. It's known as a Hash function. A hash function takes in any length of data, mixes it all up and spits out an unique string called a hash. Any small change in the input file is supposed to vastly change the hash which allows one to quickly verify that the same data was read twice.
It's not considered a secure hash, because it is feasible to intentionally create a given hash if you try hard enough. This is a bad thing when looking for intentional modifications to a file. A bad guy could create a file and then randomly flip bits to create two files (a good file and a malicious file) with the same MD5sum. MD5sums are NOT a security check.
MD5sums are perfect for rooting out accidental corruption. Downloaders being a horrible as they are. (Who else has ever left IE downloading a large file and gone to bed only to find out they have a large corrupt hunk of junk in the morning?) Windows still doesn't have a decent downloader for large files built in. For this reason, the MD5sum is often included along with large file downloads to make sure you got all the data and it's the same as before it was sent.
These tools generate an md5sum for everything in a directory, with or without recursion. The checker can verify md5sums you have generated, or you can compare the hash it spits out in a terminal window to the one which accompanied your download.
Since windows doesn't have a good way to generate or verify MD5sums, I created a few standalone windows programs to do just that. You can find them in my tools section. I hereby place my MD5sum tools in the public domain. Please don't sue me if they eat your data, work badly or otherwise cause bodily injuries.