There are a wide variety of input protection circuits.
Most of these protection circuits have historically been built out of discrete components. Some of them are now integrated into some "ESD resistant input" integrated circuits.
Most circuits only need to protect up to 6000 V. "600 V is the arc over voltage of the standard wall outlet. If it's greater than 600 V, it doesn't get to your power supply, it arc's over the screws of the oulet."  "you were probably thinking of 6,000V (peak), which would agree with IEEE Recommended Practice on Surge Voltages in Low-Voltage AC Power Circuits (IEEE C62.41-1991, formerly IEEE Standard 587)." 
- 1 signal input protection
- 2 power input protection
- 3 Input Protection by Circuit Type
- 4 Input Protection by what is being Protected
- 5 further reading
signal input protection
Alas, people outside the electronics world live in places that have "low humidity" and "carpeted floors".
Typically microcontrollers are placed in a box to protect them from such a hostile environment.
Alas, that box does no good if we directly run wires from the pins on the microcontroller to connectors on the outside of the box.
A variety of signal input protection circuits:
2 clamping diodes to plus and minus power rails
2 Schottky clamping diodes to plus and minus power rails
2 Schottky clamping diodes to plus and minus power rails, and a resistor. (All 3 components directly connected to the microcontroller input pin; the other end of the resistor connected to the outside world). 
transistor buffer (Matt Pobursky)
"Some of the old tube powered TEKs used a combination of fast glass diodes, honking big zeners and gas discharge tubes. Neat to see the gas discharge tube light up." 
On a PIC input, I like to use a the following :
1k 5V1 100nF 220k 15k PIC<--/\/\/\/----*----*----*----/\/\/\/---- Horrible outside world | | | --- --- \ / \ --- / | | \ | | / | | | --------------*----*----*--------------
-- Tjaart van der Walt 1999 
"By adding a transistor buffer to your circuit and reworking it a bit you can make a nearly bulletproof input circuit to the outside world."
+Vcc +Vcc | | / | \ | / 2 1N4148 1K | |/ switch --|<|---/\/\/\/--+--+--1| 2N3906 pnp | |\ --- 3 100 nF --- +------- to PIC input | / | \ 10K | / ---------------------+--------+---------
power input protection
diode pointing from GND to +power input (protects against reversed GND and +power)
Reverse Protection Diodes (protects against reversed GND and +power)
resettable fuses (polyswitch)
5.1 V zener diode pointing from GND to +5V ("crowbar protection", protects against power supply failing or something else pushing input power too high)
"super reverse protection diode emulator" -- a circuit composed of a MOSFET, a zener, and a resistor.
... or some combination.
I built a super-zapper that we used to test how long our input protection would last. We tried tried the trusty 1n4007, 1N4148 etc. They seemed to work ok, but the fast rising times of the spikes still cause very sharp 400V spikes to get through. We tried neon bulbs which worked damned well for dissipating large transients (into light), but we were still left with those horrible things. Next up we tried a 1k5E tranzorb that worked amazingly well. Zeners don't even see half the spikes, so if you want to use zeners, make sure you have a series resistor and a parallel cap (100nF).
If your budget allows, you can use fast recovery diodes, but I think it would be cheaper to use four different size caps over the supply with standard diodes. 100uF, 100nF, 1nF, 10pF. A 1R series resistor between the supply and the PIC can also do wonders for noise rejection.
-- Tjaart van der Walt 1999 
"DESIGNING ELECTRONIC EQUIPMENT FOR ESD IMMUNITY: Annotated Bibliography http://www.dbicorporation.com/esd-anno.htm
"AP-125 Designing Microcontroller Systems for Electrically Noisy Environments" http://www.intel.com/design/auto/mcs96/applnots/210313.htm http://developer.intel.com/design/auto/mcs96/applnots/210313.HTM
"ESD and RF Mitigation in Handheld Battery Pack Electronics" by Bill Jackson. Shows how to design a PCB with spark gaps between the ground and each I/O pin of the connector. The spark gaps reduce ESD to 2 KV or lower.
Gary Sutcliffe  says (slightly paraphrased):
ESD test: Essentially they take a high tech cattle probe and zap it. The CE requirements required that it be able to take an 8KV zap without affecting operation.
I solved the problem with the following techniques:
1. Good solid ground plane on the PCB. ...
2. Current limiting resistors (~100 ohms) and 5.5V MOVs on every input and output. ... 1206 SMT chip MOVs.
3. Keep the electronics insulated from the case. Be sure there are no openings that will allow the zapper to get at components or the PCB. ...
Russell McMahon says "Polyswitches are extremely useful ... A Polyswitch (Raychem) / Multifuse (Bournes) / Polyfuse (generic) is a self resetting thermal fuse used to provide both overcurrent and over temperature protection."
More polyswitch resources:
- "Fundamentals of PolySwitch Overcurrent and Overtemperature Devices" http://www.circuitprotection.com/06Databook/fundamentals/PSWFundamentals.pdf
- 4 page overview and selector guide http://www.circuitprotection.com/06Databook/PSWFundamentals(80-83).pdf
Input Protection by Circuit Type
( next largely stubs, some covered by material above )
Input Protection by what is being Protected
Semiconductors and Static Discharge
Static discharge can damage a wide range of semiconductors, through inputs or any other connection. More discussion would be nice.
Analog to Digital Converter Input Protection
Input protection for ADC has its own set of issues. The first in input voltage. Often this needs to be within the supply limits of the ADC itself. The ADC may have protection diodes to V+ and Gnd but excess voltage can easily push currents into these diodes that will damage or destroy the chip. First level protection can be as simple as a diode. You can then assume some over voltage on the chip and see what current will result. Some references suggest that a few ma should be ok, check you data sheet perhaps it will have some info. Raise the resistance and get more protection, or use two resistors and add your own diodes after the first diode. A problem with added resistance is that it can effect the accuracy of you converter, so once again check the data sheet. To avoid the problem of input resistance you can use a buffer amplifier. Protect the amplifier, if necessary, with its own input protection then use its output to drive the ADC. If the supply to the amplifier is within the limits of the permissible input to the ADC then it is unlikely that it will overdrive the ADC. A simple amplifier might be an emitter follower. I prefer an operational amplifier. With any amplifier, but particularly most op amps there may be a problem with the output swinging across the whole power supply range, particularly to the positive rail. A way around this is to use the positive reference pin available on most ADCs ( including those on PIC and other microcontrollers ). Lower that input to the range of the amplifier where it has low output impedance. This preserves the full digital range of the ADC. If you do not do it you should consider not using the top of the range.
Filtering the high frequency response of an ADC input can also be useful if there are large variations at a frequency higher that you want to, or the ADC can resolve.
Power Supply Input Protection
- CE magazine: "Immunity Testing: Practical Aspects of Basic Standards" by Dag Björklöf and Lars-Olov Johansson