About once a week (it seems), I get a press release talking about some company's newest stepper motor or stepper motor driver IC. Rather than discuss just one manufacturer's product to the exclusion of others (don't want to look like I'm shilling), let's just consider some general comments.
I will say I've used stepper motors before, and they are pretty cool. Like their name says, they can do incremental step movements rather than the more common smooth rotation of the other motors we've talked about here. (See: Variable Speed Motor Drives: Boon or Bane? and Going Green: The Trend Toward High-Efficiency Brushless DC Motors.)
Nothing wrong with smooth continuous rotation, but sometimes you want to move/rotate just a very small, repeatable amount, measured in fractions of a degree, and maybe without the need for an encoder to verify the position.
Of course, sometimes (in mission critical applications), you darned well better use an encoder or a precision pot to make sure that you're moving stuff to where you intended. I did a design for an X-ray collimator used in a CT scanner. A collimator focuses and shapes the X-ray beam coming from the X-ray tube before it passes through the patient on its way to the detector array. This is clearly important stuff, so I used stepper motors and some very precision linear pots to confirm absolute position of the collimator blades.
However, in less critical applications, the “steppines” of the motor can be all you need. These motors use permanent magnet rotors shaped like a gear (with teeth). The pole pieces on the stator coils also have a similar-toothed structure. Combined, this arrangement will make the rotor move. So, this makes steppers seem vaguely like a BLDC (brushless DC) motor. But, there is no means of switching or commutating these field coils integral to the motor.
If one coil is energized, the rotor will rotate slightly so that its teeth line up with that pole piece's teeth. In the stepper, the next coil is set slightly ahead of the first one (“ahead” being a relative term). If the first coil is de-energized and the second one is energized, the rotor will quickly rotate and park in alignment with the teeth on the second pole piece.
This is what that would look like with a four-coil stepper motor. Note that with the teeth as shown and with these pole pieces, each step is 3.6°:
This nice GIF comes from Wikipedia: Stepper motor.
Important considerations: To keep the rotor locked in a specific position, you keep power on the appropriate coil. To make the motor spin rather like a more conventional motor, you need a sufficiently sophisticated controller that can sequence power to the coils in the correct order and even change the coils polarity as needed. To put the rotor where you want it quickly and accurately, your controller needs to be smart enough to minimize overshoot of the rotor — so this starts to sound like a closed loop servo-system.
In more sophisticated controllers, more than one coil at a time can be energized with pulse-width modulated (PWM) power levels. That would permit “half-stepping,” or even “micro-stepping,” for extra-precision applications.
There is plenty of information available that can provide good stepper motor control applications help. Here are two easy to read, useful examples: