So why do GPS's measure elevation as the least accurate measurement
It's generally agreed that for GPS use, you're most interested in where you are (x-y-axis) and not how high up you are (z-axis). When you're driving or walking, you want to know where you're at; you already know you're on the ground. There are precision instruments for measuring altitude. So the Earth-approximate-shape calculation is optimized for X-Y accuracy.
Per Garmin, consumer uncorrected GPS's accuracy along the X-Y axis varies from 16 horizontal feet, to a usual average of 33, and a general max of 50 feet (though they can be off by more). Most full-function GPS's report their degree of precision. Remember--if you're off by 16 feet that's in any direction; a circle with a 16 foot radius has an area of pi*r^2, or Area = 805 square feet. 33 ft radius= 3,421 sqft, and a 50 foot radius = 7,854 sqft.
Again, vertical precision even less accurate--so think of yourself standing dead center inside an imaginary football standing vertically. You're in the center of a circle, with the walls 33 feet away in every walkable direction, and that top-bottom of accuracy is even farther.
There are a couple forms of correction which makes it more accurate if your GPS can receive it
• DGPS--Differential GPS. Requires an external beacon receiver to be plugged into your GPS.
• WAAS --Wide Area Augmentation System, if your GPS can receive it.
It's worth noting that some newer GPS's (ex: Garmin 76CS, some others) come with a barometer and benchmark correction for altitude.
• Correction Method 1: If you find a USGS altitude benchmark, enter in the altitude.
• Correction Method 2: If you know your correct barometric pressure, enter it in.
• Correction Method 3: Enter in both!
The unit use that data to correct it's own GPS estimate as you move. Of course, if you have a thunderstorm heading your way fast, the barometer altitude adjustment actually makes it worse. You just can't win.
The main reason GPS altitude is less accurate is because of the Earth's shape. If the Earth were a perfect circle, it would be easier. It's actually more like a flattened orange. Several mathematical models have come about and can be read on GPS FAQ/Fact/Info pages. To make it more complicated, sea level varies widely! That's why we use "above Mean Sea Level" or MSL as the altitude measurement. Sea level varies with the tide, obviously. (Avg tide: 3 feet. Biggest tide: 52 feet! (click)) It also varies with density of the rock below it, and the force of ocean currents--which is why you can't just cut a path through Panama, but instead have to go through locks that raise or lower you, depending on your direction of travel.
For a great and easy to read article on how they constantly re-calculate Mean Sea Level and all the why's, Click Here
As a result, your GPS approximates/triangulates your location not on a perfect circle, but on a approximation of the earth's shape called a "Geoid" and then guesses how high you are compared to the world Mean Sea Level.