The discrepancy in measurements happens when your object has been scaled in object mode, but the transformation has not been applied.
Take this perfectly regular cube (2mx2mx2m) for example:
Look at the scale section on the panel:
Switch to Object Mode, select your object and press Ctrl A and select Apply Scale
Without applying transformations you can also choose to display local or global measurements:
The measurements in Local units are Relative to the Scale and show that the cube is 2x2x2, whereas the Global units show the Absolute measurements showing that the cube is no longer a cube, but a cuboid that is 4m tall.
Why should you care for local or global measurements?
Please read: Why is it important to apply transformation to an objects data?