Help programming the arduino ethernet on a robot

Here is a related question. Do you need to use the arduino ethernet shield for a project like this or could you use something like an xBee to connect to the arduino and send commands that way? Or is the ethernet shield needed to install a web server as well?