The Arduino Motor Shield is based on the L298, which is a dual full-bridge driver designed to drive inductive loads such as relays, solenoids, DC and stepping motors. It lets you drive two DC motors with your Arduino board, controlling the speed and direction of each one independently. You can also measure the current absorption of each motor, among other features. The shield is TinkerKit compatible, which means you can quickly create projects by plugging TinkerKit modules to the board.
This shield has two separate channels, called A and B, that each use 4 of the Arduino pins to choose the rotation direction, vary the speed, fast brake or sense the current that is flowing through the motor. In total there are 8 pins in use on this shield. You can use each channel separately to drive two DC motors or combine them to drive one bipolar stepper motor. The shield can supply 2 amperes per channel, for a total of 4 amperes maximum.
This shield has the 1.0 standard pinout that consist in 4 additional pins: 2 of them placed near the AREF pin, that are used for TWI communication, and the other 2 are placed near the RESET pin. The IOREF pin is used to adapt the shield to the board on which is mounted. The last one is not connected and is reserved for future use.