Re. altitude: in theory it is correct that the vertical component should be as precise as its horizontal counterparts. In practise this isn't so due to the fact that the satellites used will be clustered above the receiver (as they need to be above the horizon to be visible) thus most of the effect of the measurement uncertainties will be in the vertical direction.
Another thing to keep in mind is that GPS elevations are worked out with respect to the ellipsoid (a mathematical surface used to approximate the shape of the Earth) associated with the WGS84 datum (or more precisely, one of its refinements). This is not the same as the MSL elevations we see on the charts, which are measured relative to a different reference surface, known as the geoid--this latter surface is not mathematically developable due to its irregular shape (think of a rugby ball with bumps and dents), although it can be approximated analytically.
Such an approximation is called a geoid model, and can be used to calculate the distance between the geoid and a specific ellipsoid at a specific location--this distance is variously called "geoid undulation", "geoid correction", "geoid-ellipsoid difference" and various other names, and varies between about -100m to about +100m depending where on the Earth you are.
The bottom line is that this quantity which needs to be applied to an ellipsoidal height to obtain MSL also has an error, further degrading the vertical precision of a GPS-derived position fix. Depending on how accurate a geoid model you're using this error can range between a couple of centimetres (for a locally derived geoid model for a specific area) to a couple metres (for a low-precision global model).
A more serious concern, though, is to make sure you know whether you are reading ellipsoid or MSL heights, as that could make a serious difference--up to a couple hundred feet in parts of Europe. By the way, I do not know what consumer-grade navigation GPS receivers normally show, I would appreciate if someone could clue me up on this point.
Other than that, bfisk has provided an accurate and very clear explanation (unlike mine) of how a GPS position is calculated. Just to add, the reason why many units will give you a position with only three satellites is because they will assume the receiver to be near sea level (effectively they'll be using the Earth as a fourth football, if you like).
HTH.