GPS is accurate, at any given moment, to about 20 ft on average. That is, your reported position is anywhere within about 20 ft from the true position. This shifts back and forth as you move. In narrow streets with relatively little sky visible, you could easily appear to move completely opposite your true direction, because the error moves backwards faster than you move forwards! Not only that, but the error could shift between positions as far apart as 100-200 ft in a second...
GPS is fine for finding your way, but for precision work such as showing and recording speed and distance, it's not good at all. Unless you live in a flat desert with only a few very low buildings...
A cyclometer, when properly calibrated, is accurate in any condition, to about 0.3% or better. That is, the error in recorded distance for exactly 100 miles, for example, is only about 1500 ft or so at the most.