OK, so we've all seen it listed, and maybe even had to set it in the CMOS. So what IS it? And what does it do? PreComp. is the way in which the control electronics compensate for eventual "drift" of the magnetic domains written on the disk. A simple explanation is that it allows the head to space bits that would attract each other, further apart, while it puts those that repel each other, closer together. It does this by analyzing the data stream, and adjusting the timing for each bit, to allow it to be recorded earlier or later, if needed. Not all disks require you to set their PreComp value. Those that do are asking for a cylinder to start PreComp. at. Since the packing of the bits on a disk increases as you get closer to the center of the disk (higher cylinders), the requirement for PreComp. increases too. The PreComp. value specified by the Manufacturer for a disk is his way of insuring your long term data stability.
The "boxes" above represent valid read zones for the head. As shown, the disk w/o PreComp. has actually gotten to the point that data is almost outside the read zone. At this point, the disk may make multiple passes to attempt to get valid data, or may even fail completely.
From the figures above, we can see how a slight amount of Precompensation can insure long term stability. The disk that didn't employ PreComp was eventually unreadable. Of course, this would take time to happen, I don't have cold hard specs on how much drift will occur. (Of course, this example is a gross simplification of the process, but, hey, who's counting?)
Few people realize what goes on behind the scenes during a disk read. For one thing, each disk is programmed to retry failed seeks. (Sometimes up to 30+ times!) If valid data still can't be obtained, an attempt will be made to use CRC information to reconstruct as much of the data as possible. If this is successful, DOS goes on it's merry way, never informing the User about what transpired! Only when it is too late, and you've lost your data, will DOS inform you.