Why does image texture used in displace modifier not give the correct height?
First of all make sure that the displace modifier's texture is mapped to the correct coordinates for your object (usually UV coordinates).

Now on to the settings on the display modifier.

The displace modifier will deform the the object based on the light/dark values of the image indeed. Using the default values, it will raise up the white parts (255) of the texture to 0.5 units and sink the dark values (0) to -0.5 and keep the mid-grey values at 0 in the Z axis. To alter the scale, change the Strength value to meet your needs. To make the dark values fall at 0 on the Z axis put the midlevel at 0.