Virtually all hard drives have a least a few bad sectors, but they are designated as not to be used by the manufacturer of the hard drive when the drive is prepared, and for except the earliest IDE drives and most if not all of the MFM and RLL drive controller cards and drives that came before them, the hard drive has automatic routines that detect any new bad sectors as they are found and replace them with good sectors on the fly, using spare sectors not visble to the user reserved for that use that amount to a small percentage of the sectors available on a drive, so the drive normally always appears to be free of bad sectors to the user and the operating system. There is no problem unless a bad sector is not being detected by those routines, which is rare, or unless the drive is failing and the spare sectors available to replace bad sectors have all been used up and any new bad sectors are visible to the operating system, or can be detected by chkdsk or other utilities.
Usually when you run a so called low level format on a drive these days, what it actually does is to write zeros to all the sectors on a drive (as does a zero fill utility), and often while doing that if it finds any sectors that are not marked as bad when they should be, it will replace them with good spare sectors if available, or sometimes if there are no spare sectors available it will mark the bad sector(s) as unusable and the total capacity of the drive will be reduced by the amount of space the bad sectors occupy.
"....sometimes, for whatever reason, spots get marked bad that are really good."
One way is if you copy a partition from one drive to another, or to another location on the same drive, the locations of any bad sectors found by the operating system on the original partition are copied to the second drive or location as well. You can't get chkdsk in previous to Vista and most other utilities to mark false bad sector locations as good.
I was searching for info about that yesterday for a copied NTFS partition.
You can use a disk editing utility, details here:
http://www.djkaty.com/drupal/ntfsba...
or also found there is:
"If you are using Windows Vista, there is a new option in chkdsk - chkdsk x: /b - which will re-evaluate all the bad sectors on your drive and remove non-faulty sectors from the list. Please use this instead of the methods below if you have access to Vista!"
- you can use linux utilities, along with a linux boot disk if you're not running Linux:
http://wiki.linux-ntfs.org/doku.php...
- or the freeware or trial version of this program, in various operating systems:
http://www.dfsee.com/dfsee/history.php