I'm not saying that you can't build a pretty complex robot on an Arduino. As an example, the Ardupilot guys have done a really impressive job jamming full autonomous control into an ATMega2560. Personally, though, my programming is very unimpressive and I could never cram so much into so little space, especially with all the time-critical tasks involved. It's from that perspective that I would recommend something like a Pi to act as the brains of the operation.