As Rocketmagnet mentioned your error is going to grow with time. The error model typically used in inertial navigation is an exponential growth.
To minimize this you must provide external updates. The mechanism typically employed is a Kalman Filter. The inertial sensors provide very good high rate updates. Your external source provides less accurate but long term stable updates at a lower rate (typically something like GPS). These two combine to give you a good combined solution. Not all systems use GPS as the update source. For instance, the IR imager on the front of the Nintendo Wii remote provides the source of these updates.
I'll give you an example of the cost is no factor side of things. I build systems for aerial surveying that utilize inertial systems that cost 100,000+ Euro. With these systems and high end geodetic GPS receivers I can pin-point the location of the IMU to a 2" volume all day long when GPS coverage is good. In the absence of GPS updates (urban canyons, tunnels, etc.) after about 60 seconds we have an error margin of about 10cm. Systems with this level of performance are typically ITAR controlled goods as they are weapons grade devices.
Lower quality MEMS inertial systems are used all day long in less demanding applications yielding meter sub-meter level position and attitude. These lower quality systems still employ the same Kalman Filtering mechanism. The real downside to these lower cost units is that your drift error will grow at a much faster rate.
Edit:
To answer your question as to what is important to look for in an IMU. There are a couple of things you want to look at. The first is temperature stability. Some MEMS sensors are going to have outputs that vary by as much as 10% over temperature range. These may not matter if you are at a constant temperature during operation.
The next thing to consider is the gyro noise spectral density. Obviously the lower the noise amount the better. The following link provides documentation about how to get from the spectral noise density to the drift (in degrees per unit time). http://www.xbow.com/pdf/AngleRandomWalkAppNote.pdf
For acceleration you want to look at sensitivity, and bias in addition to the noise. The noise level will give you an idea of how quickly you're going to integrate error.