Check out this video of the HiTechnic gyro... very very very cool.
Some additional information:
The basic difference between a gyro and acceleration sensor is what they measure. The Acceleration sensor can be used to measure tilt by coupling the “g” vector into the result and thus measuring tilt based on the fraction of “g” detected. This however only works in static situations.
If a robot is being moved around by motors, there will be acceleration caused by the motors which cannot be distinguished from the acceleration caused by gravity so the measured tilt value is no longer a valid measurement of the angle with respect to the “g” vector. Because of this you cannot easily use accelerometers to create a balance feedback loop necessary to make a robot balance.
A gyro measures the rate of rotation change or angular acceleration. So in a balancing robot it would measure the acceleration caused by the robot rotating on the horizontal axis perpendicular to the rotation of the wheels. This measurement is not affected by the accelerations caused by the motor movements.