LSLGuy beat me to the punch, but I’ll post this in the interest of fighting ignorance.
As LSLGuy described, they are accurate, but it’s really not the accuracy that matters, it’s the precision. It doesn’t matter if you’re only 34,500’ above sea level when your altimeter says you’re at 35,000’ - as long as everybody else is also 500’ lower than what their altimeters are indicating.
As short primer for those not in the know:
As you ascend, air pressure decreases due to the decreasing weight of less and less atmosphere above you. Barometric altimeters measure that pressure, and display it as feet above mean sea level. Barometric pressure can also change over distance, due to weather phenomena; these are the big H and L that you see on the weather map. Altimeters are dumb: they can only indicate height above or below a plane of constant pressure, or “pressure level.” Where pressure is low, that pressure level will be closer to sea level. This means that if you fly from an area of high pressure to an area of low pressure without resetting your altimeter, it will show that you are higher than you actually are. This is important when you are in the clouds and relying on your altimeter to tell you how high above the trees you are.
Now, to answer your question, yes, pilots must adjust their altimeter setting from time to time to compensate for nonstandard barometric pressure (and in some cases, temperature). The rule in the US is that you must use an altimeter setting from an airport or weather station within 100 miles of your current location. No big deal for a little Cessna flying 100 mph, he has to check his altimeter setting once an hour. But for a jet covering 100 miles in a little over ten minutes, having to reset three or four altimeters seventy times in one flight would introduce unnecessary opportunity for error. With closure rates between two jets exceeding 1000 mph, any altimetry error presents significant hazard to the safety of flight. To remedy this, as you recall, everybody sets their altimeter to a standard setting once they get above a certain altitude. This altitude is called the transition altitude, and it varies from place to place in the world. In the US it is 18,000 feet. Above this, altitudes are referred to as flight levels, because everybody is actually flying along constant pressure levels rather than at constant heights above sea level. As you are climbing through this altitude, you reset your altimeters to standard: 29.92" Hg, or 1013.2 hPa, depending on which system you like the best. Once you have this set, you are not necessarily flying a constant altitude, but rather along a constant pressure plane. The reason we don’t do this down low is that we need the altimeter to be accurately depicting our height above sea level so we can determine our clearance above the terrain or any obstacles.
When ATC assigns a descent to an altitude below the transition level, the controller gives the pilot the current local altimeter setting for a station close to the aircraft’s current position. From then on, each time the aircraft is passed from one ATC sector to the next, he is provided with a new local altimeter setting. For airplanes that never climb to the transition altitude, each ATC sector along the route provides a current setting. If the airplane is operating VFR, i.e. not talking to ATC, it is the pilot’s responsibility to maintain a valid altimeter setting, obtained from airports or weather stations along his route of flight.