What is the difference between roughness length and zero plane displacement?
First some definitions:

$z_0$: Roughness length is defined as the height at which the mean velocity is zero due to substrate roughness. Real walls/ground are not smooth and often have varying degrees of roughness, this parameter (which is determined empirically) accounts for that effect.

$d$: Zero Plane displacement is defined as the height at which the mean velocity is zero due to large obstacles such as buildings/canopy.

The two parameters are not the same because they describe the effects of two fundamentally different processes. $d$ can be anywhere from $6$ to $20$ times larger than $z_0$.

The basis for most turbulence modeling is the eddy viscosity model:

$$-\overline{u'w'} = \nu_t \frac{\partial U}{\partial z}$$

where $\nu_t$ is the eddy viscosity. Employing some scaling arguments with basis on the Prandtl mixing length model and integrating one arrives at the logarithmic law of the wall:

$${U} = \frac{u^*}{\kappa} \ln\, \frac{z}{z_0}$$

Your equation is 

$${U} = \frac{u^*}{\kappa} \ln\, \frac{z-d}{z_0}$$
which is the law of the wall with $d = 0$ because it applies to flat plates. It is easy to see then, that by subtracting $d$ from $z$ the effect is to reduce $U$ at that height, which makes sense because large obstacles remove energy from the mean flow and slow it down.

Note that if there are no large obstacles then $d \approx 0$, but $z_0$ is still larger than zero.