Alright, will check that.
I'd like to add all depth values sampled from the shadowmap appear to be in 0.97+; must be inconsistent with the 2nd picture?

For a depth buffer rendered with a perspective projection (e.g. that from a point light source shadow map), the values are non-linear and do tend to move toward 1.0 fairly quickly past the near clip plane. You can use something like this to get back eye.z from the depth buffer and then render that as intensity (i.e. map -n..-f to 0..1).

The white artifacts are due to lack of shadow bias constant, but it shows there is actual shadowing; the strange thing is, you can see the models are lit, but the ground is not. Why would the shadowFactor cause the ground plane to be dark?

In order to use a sampler2DShadow, you need to provide a texture which is of base type GL_DEPTH_COMPONENT and have the depth compare mode (GL_TEXTURE_COMPARE_MODE) enabled (e.g. set to GL_COMPARE_R_TO_TEXTURE). If you do so, then the GPU will do the depth comparison behind-the-scenes, possibly with PCF filting (if you enable it with GL_LINEAR and if your GPU supports it).

If you just use a sampler2D, then you shouldn't enable the compare mode and you of course have to do the depth comparisons yourself.

Sorry, I missed seeing that you were just using a sampler2D (and thus getting 0..1 depth components back from your lookup) and not doing the depth compare logic in your shader.