GPS heights are based on an ellipsoid (a mathematical representation of the earth's shape), while USGS map elevations are based on a vertical datum tied to the geoid (or what is commonly called mean sea level). Basically, these are two different systems, although they have a relationship that has been modeled.
The main source of error has to do with the arrangement of the satellite configurations during fix determinations. The earth blocks out satellites needed to get a good quality vertical measurement. Once the vertical datum is taken into account, the accuracy permitted by geometry considerations remains less than that of horizontal positions. It is not uncommon for satellite heights to be off from map elevations by +/- 400 ft. Use these values with caution when navigating.