On a hike through Stratton Brook State Park, I recorded a GPS track on each of my iPhone (GPS Tracks app) and my Garmin 310XT watch. The former was set for medium resolution, the latter for smoothing according to changes in direction or speed. See
a graphic comparison on Google Maps.
The tracks are substantially similar, but the iPhone suggests more zigs and zags, even on stretches of the hike that were straight.
The iPhone reported a distance of 3.71 km while the Garmin reported 3.47 km.
While I started and stopped both devices within about 10 seconds of each other, the Garmin reported an elapsed time that was 48 seconds faster (42:18). That suggests I should try an independent stopwatch comparison, perhaps when standing still.
A comparison of track points from the respective GPX files recorded at the same instant in time shows disparities in Latitude and Longitude begin in the fifth or sixth significant digit. The iPhone recorded to 14 decimal places while Garmin recorded to 25 decimal places.
The iPhone app was marking points every 2 to 12 seconds, while the Garmin was marking points every 2 to 6 seconds.
So what? One conclusion might be that someone not wishing to pay for a Garmin but who has an iPhone can get a reasonable GPX file from the iPhone. But the iPhone is less convenient for runners, does not smooth the track well, and overstates the distance compared to a Garmin. Maybe there is a better app than GPS Tracks but I haven't found it yet. Such an app might even tie in with the Apple Watch for convenience in Start/Stop/Lap marking.