I come from the GPS community.
I think that you will find that the automated systems for estimating distance and elevation based on a topo map are somewhat poor estimates. If they operate off your recorded GPS track data, then they are more accurate, but still off a bit. That is because there are lots of factors that can cause GPS track data to be off. Plus, the GPS receiver manufacturers never tell you their algorithms for calculating distance from track data. For example, if you were going through a virtual tunnel in the woods, and if the receiver tracks you on one side, and then twenty minutes later on the other side, with no signal in between, then what should it get for distance? Some will completely skip the apparent distance and give you zero miles. Others will estimate the distance as a straight line between the two points. It gets much worse when you get to vertical coordinates.
Analysis programs typically use Kalman filtering, and that is the same as what is used inside the actual GPS receiver. This throws out the outlier data points, but somebody has to pick the filter factors depending on how smooth or how rough the track log is compared to the actual trail.
–B.G.–