If you or a previous owner put larger than stock size tires on, that's why.
And it will be off by a percentage, not a specific value at all speeds. For example, if it's off by 10%, it'll read 50 but you're doing 55, at 60 you're doing 66, etc.
If it's truly 10 mph at all speeds, it's probably a mechanical error (bad speedo).