Harddrive bit-rot does happen. Does MySQL go about making sure that bit-rot does not happen to my data stored in the database? Ie. does it make any row-level checksumming, or table-level checksumming? I guess it's not dealing with error correcting codes.
Let's stick to InnoDB and MyISAM for this answer (as they are the most common DB engines).
Innodb checksums each data page and by default verifies that checksum each time the page is read from disk: http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_checksums
I'm not sure that myisam has internal checksumming, but there are a bunch of external utilities that can verify the integrity of myisam tables/data (myisamchk, etc).
Between the two, I think Innodb is a much better choice for data integrity if that is what you're looking for.
Hope that helps.