Adafruit designed a very useful shield (in 2008 ?), called "Adafruit Motor Shield". It was (is) a useful shield with older components. The tutorial of Adafruit explains the use: https://learn.adafruit.com/adafruit-motor-shield
In 2014, Adafruit has a discontinued this shield and has a new and much better motor shield.
This page is only here for the old shield, and for the clone boards.
The shield contains two L293D motor drivers and one 74HC595 shift register. The shift register expands 3 pins of the Arduino to 8 pins to control the direction for the motor drivers. The output enable of the L293D is directly connected to PWM outputs of the Arduino.
To increase the maximum current, the L293D allows extra chips with "piggyback". Piggyback is soldering one or two or three extra L293D drivers on top of the L293D drivers on the board to increase the maximum current. The L293D allows parallel operation.
The Motor Shield is able to drive 2 servo motors, and has 8 half-bridge outputs for 2 stepper motors or 4 full H-bridge motor outputs or 8 half-bridge drivers, or a combination.
For other programs and motor programs, see the Physcial/Mechanical-section in the Playground index.