What is a Shield?
Shields are modular circuit boards that piggyback onto your Arduino to instill it with extra functionality. Want to connect your Arduino to the Internet and post to Twitter? There's a shield for that. Want to make your Arduino an autonomous rover? There are shields for that. There are dozens (hundreds?) of shields out there, all of which make your Arduino more than just a development board with a blinky LED.
Many Arduino shields are stackable. You can connect many shields together to create a "Big Mac" of Arduino modules. You could, for example, combine an Arduino Uno with a Voice Box Shield, and a WiFly Shield to create a WiFi Talking Stephen Hawking(TM).
Shields are often supplied with either an example sketch, or a library. So, not only do they just simply plug into your Arduino, but all you need to do to make them work is upload up some example code to the Arduino.
Shield Form Factor
Every Arduino shield must have the same form-factor as the standard Arduino. Power and ground pins on one eight (previously six) pin header, and analog pins on a six-pin header next to that. Digital pins cover the other edge on the other side, an eight-pin header separated from a 10-pin by that weird 0.5" spacing. Some shields also require a connection to the Arduino's ICSP header (the 2x3 programming header on the end).
Some shields use every pin on the Arduino, while others only use a couple. When stacking shields, it's important to make sure they don't use overlapping pins. Some shields communicate with the Arduino via SPI, I2C, or Serial, and others use the Arduino's interrupts or analog inputs.
There's a great variety of Arduino shields out there -- too many to ever include in this tutorial. On the next page we'll go over a handful of the more popular and unique shields.