How to use arduino to drive a motor

I am kind of new to electronics and was wondering if someone could explain how to use an arduino to control a motor? I want to use the the 0 to 5 voltage that the arduino can supply to determine the percentage of the voltage another power supply(12V ) sends to a motor.

If you want your motor to turn in one direction only, you can use a transistor or mosfet to switch the negative motor terminal to ground.
Use PWM to control the speed.

For forward/reverse you need a H-bridge.

Parts used depends on the size (current draw) of the motor.
Leo..

See:
http://www.thebox.myzen.co.uk/Workshop/Introduction.html

The above assumes a DC motor (permanent magnet DC motor to be precise),
is that the case?