GPIO pins can be used to connect devices to a computer so that it can control and monitor them. The GPIO pins can be controlled by programs written in almost any programming language. The Raspberry Pi's GPIO pins are in two rows of 13 pins next to the RCA video socket.
There are two libraries that allow programs written in Python to control the Rasperry Pi's GPIO, wiringPi, and the RPi.GPIO module that's installed in Raspbian by default.
You need to be careful about how you connect devices to the GPIO pins. For example, if you connect a motor directly to one of the pins, the current that the motor draws will burn out some of the GPIO circuitry and permanently damage your Pi. It's usually necessary to use transistors, amplifiers or some other buffering mechanism to drive large currents.
Several manufacturers have released interface boards that you can connect to the GPIO pins. One of the easiset to work with is the Pi Face. Another popular interface board is the Gert Board, which is more complex than the Pi Face, but much more flexible.
Different GPIO pins have different functions. Pins 2 and 4 supply power at 5V. Pins 1 and 17 supply power at 3.3V. Pins 6, 9, 14 and 20 are connect to 0V. The remaining pins can be configured for use as inputs or outputs.
See also: elinux.org/RPi_Low-level_peripherals.