The RCX brick is the brains behind Lego Robolab.  It can be programmed to hold up to 5 different programs at a time.

It has 3 inputs (1, 2, 3) and 3 outputs (A, B, C).  The inputs can take readings from light, touch and other sensors, and the output ports can be used to power motors.

Programs are downloaded to it via infra red from a computer, so it does not need connecting wires.  This means it is able to move about  freely without being restricted by wires.  RCX bricks are also able to communicate with each other. 

It is normally programmed using Robolab software which is a simplified version of the LAbView software used by NASA to program the Mars Rover.  By using an add-in file, spirit.ocx, Visual Basic and C++ can be used to gain even greater control over the RCX.

The Lego tower plugs into your computer and using infrared transmits your Robolab programs to the RCX.  The RCX can hold up to 5 different programs at one time.