Excellent answer by George. If I may, I'd like add more details and suggestions. (I would recommend googling terms that are new to you).
Your entire robot (input) configuration depends on what kind of data your code is going to process. If it's more vision oriented, the data can be depth maps, point clouds, rgb images or a combination of the 3. This means you can use something like the Kinect (which would require a more powerful processor that the arduino), or simple rgb cameras (for which something like the arducam+arduino is sufficient). Arduino can run simple computer vision programs, but nothing too heavy and processor intensive. Also, if I'm not wrong, Arduino cannot process and use its GPIO pins at the same time. Which means during an intensive processing task, your robot motors are basically off.
In my experience, if you're planning to use point cloud stream, it would require a dedicated graphics hardware (like a GPU chip that's present on the Raspberry Pi or pcduino). (Hell, even my laptop cannot run the point cloud stream openni drivers without a dedicated graphics card)
Depth maps can be easily processed without a GPU, but it still requires high processing capabilities which would render the Arduino micro'controller' pretty useless. In this case you'd require a microprocessor board viz. Beagleboard, pcduino, gumstix, Raspi, Arduino TRE (not released yet), to name a few.
In terms of the output, the way to control your robot's mobility is to send power to the dc motors, servos, or stepper motors of your robot. This requires writing programs similar to what one would write on the microcontroller like an arduino.
If you require microprocessors, in my opinion (although I've never used it before), the pcduino V2 has it all: First of all, it's relatively cheap (~$70 + some cables etc). Raspi is cheaper, but not as powerful.
Pcduino has 1Ghz A10 processor, expandable upto 32GB SD slot, a GPU chip (OpenGL ES2.0) which means you can program CV applications and integrate webcams, or maybe even a Kinect. It also has wifi arduino headers, HDMI and usb outputs for easily connecting to monitors for programming etc.
But the thing I love about pcduino is that it has arduino headers. Which means you can attach something like the ADAfruit motor shield (normally used with arduino to effectively control a bunch of motors) on top of the pcduino board and send motor signals to control your robot.
Hope this helps