GPS is going to be more accurate.
Tires wear, air pressure changes sizes, temperature effects them too (GPS compensates fro temp). Not to mention speedometer gear ratios can be only adjusted so much. Not every ratio is possible without having multiple gear pitch (tech term for numer of teeth per inch).
Then you get into parts wear.. Speedo's drift over time, gears wear out, tires wear out...
Basically all this has to mesh for a speedo to be accurate. Frankly, when its dead on, consider yourself lucky. Thas a lot to adjust for, and there is nothing being adjusted.
I am pretty sure American speedo's are required to be within 5% accuracy, when they leave the factory. Key part being when they leave.
Police speedo's are to be within 3%.
With GPS, a good lock, is really all you need for it to triangulate your possition, and determine your speed.
Now a question on odometer... Since it was brought up...
If you travel straight over a mountain, your actual position may only change by 1 mile. Howeve, due to going up and over, you may have actually had to travel 2 miles.
What distance will a gps read? I would imagine better models will register 2 miles, but what about cheaper models?
Has anyone tested this?
It would certainly have an effect on the odometer over time.