IMU's do not output position. An IMU outputs angular rates and lateral accelerations. You need software to turn that information into something useful, such as orientation, position, and velocity. An AHRS uses an IMU to output orientation. If you want position you need to augment the IMU with some other sensor, such as a GPS.
These are all very similar...the Mongoose and the Sparkfun parts are the same, except that the Mongoose adds a Barometric pressure sensor. The x-IMU is a very different animal - it uses a PIC uController and IMU-3000 rather than the ITG-3200 paired with an Atmel 328P so that could be considered a significant difference, although you will need to review the intended use and the data sheets for each sub-component to determine if it meets your needs. Another interesting difference is that the x-IMU has Bluetooth built in which may or may not be beneficial, but WILL drive up cost.
Tom is correct in that the hardware to measure all of these angular rates and accelerations in the various directions is nothing without the software to interpret it all...so that said, you may be more interested in the communities, forums and support provided by each of the various vendors.
If you want to measure distance or movement in centimeters you need to be thinking about encoders on your wheels rather than an IMU / AHRS. Tom is also correct that you will need an additional sensor to define position rather than just orientation and / or velocity. Your project will be more about the "sensor fusion" software that combines the data from wheel encoders, GPS, accelerometers, gyros, and magnetometers to get to a final solution that tells you that your robot if at point X, facing direction Y, at altitude Z, with velocity...etc., etc.