Delta modulation encodes the difference between a sample and the previous sample in only one bit. Differential PCM encodes the difference between a sample and its predicted value. Is this difference encoded in one bit or more than one bit? If encoding is done in more than one bit, what is the advantage of differential PCM over delta modulation?
Since the encoded values are differences between original values, the values are relatively small values and they are in general distributed as small positive and negative values around zero. This helps to further compress the data by using some algorithm that can use shorter codes to represent smaller values that appear frequently in the data, and longer codes for larger values that appear less often.
From the lectures I had long ago: to be able to encode the difference on only one bit with sufficient quality (e.g. with low granular noise), consecutive input samples are expected to be way more correlated for delta modulation than for differential PCM. In other words, the input source is often sampled at a higher rate (far above Nyquist) in DM than in DPCM.
DPCM (Differential pulse-code modulation) also supports a local predictive model (or extrapolation) not limited to zero ordre hold.
Moreover, DPCM is often followed by entropy coding to save some more bit in transmission.