Hi,
Well it depends on what we mean by 'fixing'. CRC error basically means that there's a discrepancy between the actual data in a sector and the various checksums that were generated from that data at the time that data was written to disk. Now either the checksums are wrong or the data itself. The disk can't tell which of the 2 is wrong and neither can we.
A disk will try 'fixing' the sector as soon as we instruct a write to the sector holding the corrupt data/checksums. By doing so we overwrite the original data (and checksums). So fixing a sector implies we take for granted that the original data in the sector is lost.
Then there's the point of how the data and/or checksums got corrupted in the first place.
If the corruption occurred for some obvious reason (like power was interrupted) then yes, I'd say, fix this and chances are good that everything will be okay.
If there is physical damage to a few sectors then things look ok, as long as the disk does not contain mission critical data. 'Fix' the sectors and the disk itself will make sure those bad sectors are never used again, instead it will replace them by sectors from the spare pool. Use the disk, see if it behaves by looking at the SMART raw data (or let us do that for you).
If the reason is some kind of structural hardware failure then you can fix all you want but it won't work. While it may seem at first that the disk is fixed, sooner or later more bad sectors will pop up. You can again determine this by looking at the disk's SMART data.
You can use DiskPatch to look at the SMART data:
http://www.diydatarecovery.nl/dp_manual/guide_smartcheck.htm