Many people change to a different size tires/wheels combination either as new or as replacement. I am using a set of alternate OEM size on my car that is larger than what came on the car by 4 percent but never bothered to recalibrate the speedo. So the speedo is under reporting the actual speed.
On the other hand, the GPS reports the true speed.