The drive will automatically remap data in bad sectors to spare sectors if it's able to read the data successfully. If it can't read the data then it won't remap a bad sector until it's been overwritten with new information.
I'm not an expert in this (but am working on getting expertise)
but (again haven't used this extensively or at all but have been reading on it and used it minimally wnat ot use these CLI commands more though)
This utility tries to locate bad blocks by writing patterns to every sector and then reading them back again to verify them. But the firmware in the disk itself also verifies data by checking it's ECC information, and if it finds problems it will remap the sector at the drive level without the utility being aware of it. As a result it's unusual for software to be aware of bad blocks on the drive - the drive normally looks "clean" and the only way to see if blocks have gone bad is to look at the drive's SMART data. See: http://en.wikipedia.org/wiki/Badblocks
This utility checks the consistency of the file system metadata. It doesn't look for bad blocks per se, but rather looks for inconsistencies such as a block that's marked as being free for use yet also happens to show up in the list of blocks allocated to a file.
For the other people reading, these are Linux utilities, you won't find them in Windows. The equivalent to "fsck" in Windows is "chkdsk".