Difference between Shadow pass and Diffuse Direct?
The Shadow Pass is not as interested in the gradient intensity of the reflected light (like DiffDir) as it is in where the emitted light is not directly reflected back to the camera.  This probably involves a threshold, even though I haven't looked at the code.  From my tests, it seems that once the reflected light falls below a certain point, only then does it become non-white on the shadow pass.  Whereas the purpose of the diffuse pass is to show the gradient direct light intensity:



Also, when you add another type of shader into the scene, the similarities between DiffDir and Shadow continue to diverge since the shadow pass is affected by them as well.  An interesting phenomenon occurs when the Glossy Shader is at 0.0 roughness... it becomes totally black.  This is because of what I said earlier about direct light reflection.  As you probably know, when glossy is perfectly reflective, no off-axis light will be reflected back to the camera.  Therefore, you get nothing on the shadow pass.  But if you give it some roughness, it shows up.  That's because it's reflecting enough directly emitted light to breach the threshold.  The center cube below has a glossy shader applied: