The Garmin Edge 500 uses barometric pressure to measure altitude more accurately than GPS does by itself. So this is much better than units (e.g., Garmin Edge205) that don't.
That being said, this still isn't perfect. If you scroll down and look on the left hand side of a
Garmin connect page, you'll see "Elevation correction." For you guys looking at my page, it just says enabled. For me, I can choose enable/disable.
What is supposed to (and often) happen is that this will use the elevation data from the maps it has to provide a more accurate measurement. What sometimes happens (and it very strangely depends on which device I use to upload the track) is that this makes the data worse (has spikes in elevation that are clearly non-physical). I've sent Garmin tracks like this and they pretty much blew me off.
Cheers,
Charles