I always wonder why some of the robots my students build often don't go perfectly straight. It seems that not all NXT motors are created equally. This article from TechBrick.com explains how to calibrate the NXT motors to find out which ones match each other most closely:
Simple NXT Calibration: Look Ma! No Tools!