stepper motor's shaft has permanent magnets attached to it, together called
the rotor. Around the body of the motor is a series of coils that create
a magnetic field that interacts with the permanent magnets. When these
coils are turned on and off the magnetic field causes the rotor to move.
As the coils are turned on and off in a certain sequence the motor will
rotate forward or reverse. This is called the phase pattern and there
are several types that will cause the motor to turn. Common types are
full-double phase, full-single phase, and half step.
To make a stepper motor rotate, you must constantly turn on and off the coils. If you simply energize one coil the motor will just jump to that position and stay there resisting change. This energized coil pulls full current even though the motor is not turning. This is the main way steppers generate heat, when at standstill. This ability to stay put at one position rigidly is often an advantage of stepper motors. The torque at standstill is called the holding torque.
Because steppers can be controlled by turning on and off coils, they are easy to control using digital computers. The computer simply energizes the coils in a certain pattern and the motor will move accordingly. At any given time the computer will know the position of the motor since the number of steps given can be stored. This is true only if some outside force of greater strength than the motor has not interfered with the motion. An optical encoder could be attached to the motor to verify its position but this is not necessary.
A stepper motor can be run in "open-loop" mode (without feedback of an encoder or other device). Most stepper motor control systems will have a home switch associated with each motor that will allow the software to determine the starting or reference "home" position.
There are several types of servo motors but I'll just deal with a simple DC type here. If you take a normal DC motor that can be bought at Radio Shack it has one coil (2 wires). If you attach a battery to those wires the motor will spin (see, very different from a stepper already!). Reversing the polarity will reverse the direction. Attach that motor to the wheel of a robot and watch the robot move noting the speed. Now add a heavier payload to the robot, what happens? The robot will slow down due to the increased load. The computer inside of the robot would not know this happened unless there was an encoder on the motor keeping track of its position.
So, in a DC servo, the speed and current draw is affected by the load. For applications that the exact position of the motor must be known, a feedback device like an encoder MUST be used (not optional like a stepper).
The control circuitry to perform good servoing of a DC motor is MUCH more complex than the circuitry that controls a stepper motor.
Often when talking about robots the word "servo" really means an RC (remote control) servo motor. This is a small box designed for use in hobby airplanes and cars.
Inside this box is a complete servo system including: motor, gearbox, feedback device (pot), servo control circuitry, and drive circuit. It's really amazing that they can stick all of that in such a small package. RC servos normally have 3 wires: +v, ground, control. The control signal is a pulse that occurs at about 50hz. The width of the pulse determines the position of the servo motors output. As you can see, this would be pretty easy to control with a digital controller such as a Basic Stamp. Most will run on 5-6 volts and draw 100-500ma depending on size.