From the authority - Bob Katz (from his site www.digido.com)...
If there is severe DC offset in program material then it may be desirable to fix it. DC offset shows itself by pops or big clicks if you stop and start the CD or tape. But if the DC offset is mild, or imperceptible, it's probably better to leave it alone. Especially since you're starting with 16 bit material, and after any calculation, including DC offset removal , you're going to have to dither it back down to 16 again. So many of these programs that extract audio from 16-bit CDs and then allow you to manipulate it, do so in a haphazard or unsophisticated manner from the point of view of DSP quality. And no matter how well they do it, double 16-bit dither is somewhat costly to sonic transparency.
In addition, the quality of your calculation can be costly to the sound, adding distortion or grunge, especially with a high-pass filter (which is needed to remove DC offset). High pass filters require more DSP power to do well than simple equalizers. But if the DC disease is bad, and you use a high quality calculation, the cure can be better than the disease. This advice goes for any calculation, for example, gain change, equalization, to sample rate conversion, and DC offset.
Some high-quality programs will perform a double precision (48 bit) dithered high-pass filter, for example. Ask the designers of your program if that's what they are doing, to maintain the highest quality audio.
There is another method of removing DC offset, that does not require redithering. This method is "scanning". The program searches for and measures the DC offset in the material, and instead of filtering, simply subtracts or adds an exact quantum, returning the centerline back to 0. This is theoretically much more transparent-sounding than the filtering above. But usually the problem of DC offset is that it is not constant, and moves, due to A/D converters changing with temperature, and other factors. So, scanning may not do a perfect job of removing it. Not too many programs have a scanning option. It should be more available. If your program is truly performing scanning and subtraction then the calculation should be very transparent.
Your job is to listen carefully, measure if possible, and also find out from your software vendor the real details under the hood.
Best wishes,
Bob Katz