What many drivers don't realise is that their vehicle's speedo is probably giving a false reading and can be showing quite a bit faster than the true speed - i.e. when the speedo shows 50mph, you might only be going at 45-46mph. Someone with a satnav (which gives a more accurate reading) may therefore appear to be exceeding the speed limit but is more likely to be right on it.
As for drivers who drive slower than the speed limit - have you noticed that they ofter keep to 40-42 on the open road and through towns... Unless there is a good reason not to, drivers should always drive at the speed limit.