If you look at the error rate, say, on the Seagate Barracuda, for example, it lists as one read error in 10 to the 14 power reads - that is 100 terabBITs or about 12 TeraBYTEs.
I have 6 drives each is 2 TB, so I probably have a few bit errors here and there.
I made a shell script using md5deep that will go through my drives and create an MD5 database (checksum) of all the files on the drive. It takes a while to run, but I do it now and then. It does several things - makes me feel a bit more secure that nothing changed and it also makes sure that every file is still readable.