The reason is that using GPS to measure distance always over-estimates.
In other words: your GPS is wrong.
Why?
There is an inaccuracy of several metres in each GPS reading on consumer devices due to radio waves being slowed down in the atmosphere.
image from thesciencegeek.org
Surely a few metres isn't very far on a walk? No, but it IS between readings.
As the measurements are taken frequently during a walk (e.g. an app might get one reading per second), the error in position is significant vs the distance you have walked in the time between readings.In a car where you are going faster or even if you are running, the error is less significant vs the distance travelled in that time.
Surely the errors would average out? Nope.
All those little errors add up rather than cancel out because only one of the four points of the compass will take you closer to where you've already been. There's more chance that any random error will position you further away.How come the iWalk app doesn't get the distance travelled along the route wrong since it also uses GPS?
It already knows the route in advance so it has more information to work with - it doesn't need to rely on accumulating GPS readings.Other factors which affect the distance travelled on a (flat) map vs real life
Wiggles
Although a route line is very slightly simplified in terms of twists and turns vs the actual paths, for the iWalk Cornwall walks the route line is pretty fine-grained (consisting of hundreds of points) so the extra distance left to wiggle is pretty negligible (at most around 1%).
Hills
The extra distance covered by going up and down also adds to the distance shown on a map. However, despite your legs telling you otherwise, this is actually not that huge either. There are two parts to it:
On an exceptionally arduous walk solely on the coast with lots of deep valleys, the distance travelled "up and down" is likely to be at most about 10% compared to the distance on the flat. For a more normal coastal circular walk the "up and down" distance is typically not much more than 5% of the distance on a flat map.
The second consideration was worked out by Pythagoras. The shallower the incline, the less significant the elevation adds to the overall route distance. Even with an average gradient of 1 in 3 (which is insanely steep), you're looking at only around 10% of the total elevation distance being adding onto the route length.
So since the elevation distance itself is already a small percentage of the route length (5-10%), the small "pythagoras" percentage (less than 10%) of the already small elevation percentage is also pretty negligible.
The number of calories burned on hills is another story though. A relatively small increase in gradient makes a big difference to the calories burned.