Hardware is usually rated to run at a certain speed, voltage and temperature given certain "average" conditions. Also, the quality of hardware varies in such a way that if a hardware manufacturer makes a particular line (say like a 2.0ghz CPU), given yields in a "batch", there will be units that barely make the mark and some that far exceed the mark... yet all of them will be sold and expected to clock at that average speed (i.e. 2.0ghz).
Overclocking is popular in hopes of either: a) providing a scenario that is better than the "average" condition hardware is made for and/or b) hoping for a yield that is in the "exceeds" mark for the batch.
Say a cpu that is meant to run at 200mhz FSB speed, many people can bump this up to 210-220 or even 240mhz. By doing this, they need to provide better cooling (to keep it in the normal operating range), sometimes additional voltage as well as hope their particular CPU was a "good" one out of the batch to do this reliably.
This goes for most kinds of silicon chips found in PC's. From CPU's, to memory, to videocard gpu's and video memories. This process CAN reduce the lifespan of these components though, so early hardware failure is a risk.
Some people push this further by instigating overclocks beyond what is available. Such as pushing CPU's to 4-5ghz or beyond, by adding exotic cooling (such as water cooling blocks or liquid nitrogen) and modifying their motherboards with wires, circuits and soldering to get more voltage to various components to run at this speed.