Given that you can replace the arduino for under $30 (or for about $5-6 if the atmega chip is socketed, or a mere $3.50 for a blank atmega you can initialize on a breadboard using the arduinoISP sketch before you fry the current one), if you are more interested in learning about things, I'd say go ahead and build some driving circuits. On the other hand, if you just want to "make it go" buy someone's driver shield or serial-controlled driver module.
As an aside, "9v" batteries have very little current capacity and are not intended for motors - using one with a motor will cause it's voltage to sag severely, and it will run down quickly. Most of the components in your toy are connected in parallel - the 9.6v battery (probably consisting of 8 AA-size NiCd or NiMH cells) probably powers the drive motor directly, and the servo and perhaps electronics through a voltage regulator of about 5 volts (at least if they are standard parts). You should probably keep that scheme.
There are some things you can do to "protect" the arduino such as using opto-isolators (essentially an LED and a phototransistor molded in an IC-like package - you can make your own with discrete parts and heat shrink tubing) to transfer signals between the arduino (or radio receiver) and the servo and drive motor without their being any electrical connection between the two - each in that case requiring its own battery. However, most budget equipment simply relies on careful design and filters to suppress spikes, supply noise, and RFI. Amongst things you will see in R/C vehicles:
small capacitors across the terminals of motors, and/or between each terminal and the motor case
if the motor is unidirectional, a reversed diode across the terminals, if it is bidirectional four reversed diodes between the two motor terminals and two battery terminals.
Most likely you can work out a solution running everything off the same battery if you power the motor directly, run the servo off of its own 5v regulator, and run the arduino off of its on-board 5v regulator. Alternatively, you can give the arduino its own battery (perhaps 3 AAA's if you bypass the regulator) and establish a common ground connection between that and the motor/servo battery.
In terms of driver circuits for the main motor, the big question is if you are okay with forward only, or if you need forward and reverse. Related questions are PWM duty cycle speed control, electronic braking, and efficiency.
For a small toy with forward-only, you can simply use an medium sized NPN transistor as a switch in the negative lead (emitter to battery -, collector to motor -), with the base connected via a resistor to an arduino pin. A pragmatic approach would be to start with a large resistor such as 10K ohms and reduce the resistance just until the voltage drop across the transistor is reduced to about .6v - implying it is fully "on" and most of the battery voltage is available to the motor.
Doing forward-reverse control is more complicated - typically accomplished with an "H bridge driver" in which each leg of the motor can be connected to the negative battery terminal via an NPN transistor or the positive terminal via a PNP. Two control pins are required - 01 is one direction of rotation, 10 the other, while 00 and 11 both stop the motor. Building H bridges is a bit tricky - you have to be sure that the biasing is such that the NPN and PNP transistor on a side can't both be on at once and short out the power supply, but there are packaged solutions such as the L293 and L298 (which handles two motors).
Bipolar transistors do have substantial loss at low voltages, so higher performance vehicles typically use MOSFETs, but these are trickier to work with (especially in an H bridge configuration) and handle (they are subject to damage from static or overvoltage).
I had a similar project such as yourself, arduino powering 2 motors: I ran into several problems (I Used an HBridge and not the motor shield but you might run into these)
1)My partner and I removed the battery tray housing the 6 AA batteries and instead used 1 9V battery, thinking that was better. It was not, 9V do not provide as much current as AA batteries, it's like using 6 AAAA batteries, google it. You might be better switching to AA batteries b/c once the voltage got low (< 7V) on our project I had to switch it out for a new one, and they didn't last long. Also test that voltage on the motor shield's output terminal screws and compare w/ the voltage across the 9V to confirm it's the same or different (accounting for voltage drop from the various motor shield components, if any).
2)There is an issue w/ the Arduino Uno R2 where it will not run the code correctly if it is being powered via the VIN pin. VERY hard bug to detect.
Best Answer
simulate this circuit – Schematic created using CircuitLab
The arduino can be powered from anything over ~7V, so a 9V batter would be just fine. For the motor however you CAN NOT use a 9V battery and need a battery that is capable of supplying high current without the internal resistance of the battery hindering your output voltage. I highly recommend looking into either a LiPo or NiMh battery for driving the motor. The size of battery will be dependent on what the motor is rated for. For example if you have a 12V motor, you will want a 12V battery for them.
This depends on the battery you are using, and can most likely always be traced back to the battery. In your picture you show a 9V radio battery being used, which is in fact a very poor choice for any sort of motorized circuitry - it simply isn't able to supply the needed current. When you ask a battery like a 9V for more current than it can supply it begins to compensate by reducing the output voltage (ok there is actually a lot going on internally chemistry wise but that is a valid way of thinking about it). This fluctuation in output voltage will effect high sensitivity devices such as analog circuits or high speed digital circuits (which the ultrasonic sensor is). Switching over to a battery that can supply high amounts of current would fix this, or switching to a two battery solution.