What is the difference between the NXT 1.0 controller and the NXT 2.0 controller?
There are a few subtle differences in internal hardware between the NXT 1.0 and 2.0 bricks. The most notable one is that the 1.0's screen would give out over time due to stress being put on a capacitor when the buttons are pressed, but the NXT 2.0 is engineered such that this does not occur. But, none of these differences affect what hardware the bricks are compatible with.

Externally, the NXT 1.0 and 2.0 intelligent bricks are physically identical. You can update firmware of NXT 1.0 controller with 2.0 firmware (download the most recent version here). Once this is done, your NXT will be able to use the LEGO color sensor that comes with NXT 2.0 box, and to run NXT 2.0-compiled software.