The RemoteWebDriver is composed of two pieces: a client and a server.
The client is your WebDriver test and the server is simply a Java servlet, which can be hosted in any modern JEE app server.
The server will always run on the machine with the browser you want to test.
There are two ways to use the server: command line or configured in code.
This is probably best demonstrated with some code:
//We could use any driver for our tests…
DesiredCapabilities capabilities = new DesiredCapabilities();
//Get a handle to the driver. This will throw an exception
//if a matching driver cannot be located
WebDriver driver = new RemoteWebDriver(capabilities);
//Query the driver to find out more information
Capabilities actualCapabilities = ((RemoteWebDriver) driver).getCapabilities();
//And now use it