Specifically, every 6 dB of attenuation is equivalent to reducing the bit depth by one. Attenuating a signal is done by multiplying each sample by a number less than one, with the result being that you're no longer using the full resolution to describe the audio, resulting in reduced dynamic range and signal-to-noise ratio. In digital audio, the signal is split up into distinct samples (taken thousands of times per second), and bit depth is the number of bits that are used to describe each sample. Reducing volume in software is basically equivalent to reducing the bit depth. What matters is whether you're adjusting volume in software or in hardware.