Going in a straight line on a flat road it will be extremely accurate. Throw in curves and hills and it becomes less accurate as it misses some of the distance you cover. But not badly.
What I did was run a GPS speedo on a flat road at different speeds. So at 35 I know it is off 2 mph, at 45 it is 2.5 and so on.