Every rocket launch has a countdown. But what purpose does it serve?
In addition to the answers that have been given, it should be noted that there is a window of opportunity for a launch to occur, known as a launch window. This certainly occurs when trying to get somewhere such as the International Space Station, but even earth orbiting satellites have a window of time where the rocket can meet its performance.
Bottom line is, the exact time of launch is very important, and a complex sequence of events have to happen in just the right order to make it happen. SpaceFlightNow provided a generic countdown timeline for the Falcon 9, I'll re-post a few of the highlights. Some of these things are done to keep the batteries topped off till the last minute. You don't want to put the fuel in until the last minute, to save it (Most rocket fuel is cryogenic). When the rocket has its fuel loaded, you want to keep non-essential personnel away from it, making it so any tasks they need to do is put off until the end. You don't want to arm the system to launch until you are completely ready, thus, it only happens right before. There are many more such examples of why things are done in a particular order, but hopefully this will give you a sense.
L-13:30:00 Dragon Power Up L-7:30:00 Launch Vehicle Power Up L-3:50:00 Liquid Oxygen Loading L-3:40:00 Rocket Propellant 1 Loading L-1:00:00 Weather Briefing T-0:09:40 Verify that Terminal Countdown has started T-0:09:30 Merlin 1C: Lox Bleeder Valves Open T-0:07:00 Dragon to Internal Power T-0:04:46 Stage 1 & Stage 2 Auto Sequence starts T-0:04:30 Transfer to Internal Power T-0:04:10 Vehicle Release Auto Sequence T-0:03:40 TEA-TEB Ignition System Activation T-0:03:25 Flight Termination System to Internal Power T-0:03:11 Flight Termination System Armed T-0:03:02 LOX Topping Termination T-0:03:00 Second Stage Thrust Vector Actuator Test T-0:02:00 Range Verification T-0:01:30 Final Engine Chilldown, Pre-Valves/Bleeders Open T-0:01:00 Flight Computer to start-up T-0:00:50 First Stage Thrust Vector Actuator Test T-0:00:40 Propellant Tank Pressurization T-0:00:20 All Tanks at Flight Pressure T-0:00:15 Arm Pyrotechnics T-0:00:03 Merlin Engine Ignition T-0:00:00 LIFTOFF
There is a long list of things that have to happen to launch a rocket after it gets to the pad. Fueling, engine gimbal tests, sensor checks, computer start ups, etc. There's a certain order these have to go in. A countdown provides the backbone for the planning of all this. Don't think of it so much as "time until launch," but rather "progress through the checklist." Sure, the launch does happen at T-0, but in some launches, when T-0 actually could change if they were to hit a problem earlier in the countdown.
Countdown is more than the "60", "30 seconds", 10,9...1 we see on TV, or hear on the PA adjacent to the launch site. Countdown commences well before the launch date with regular checkpoints for various systems and parts on the schedule as Thomas Tarrants mentions in his answer. It is also a process that may be forked - more on that below.
In addition to verification countdown also allows resolution of issues identified. Say diagnostics on system X report an error at T-24 Hours. The error may be of such a nature as not to interfere with the rest of the systems. Then the system owner for X may recommend continuing verification (countdown till T-23 Hours i.e. 1 hour to identify, and fix the fault) to hold at T-23 Hours.
This page on the NASA site explains how countdowns work - http://www.nasa.gov/mission_pages/shuttle/launch/countdown101.html
Remember that the rocket/spacecraft looks to us laymen to be a monolith; In reality it is thousands of parts, and systems working together.
How else would you do it? Choose a random time?
Really, the purpose of a countdown is to make sure all the engineers know exactly when liftoff should be, and how much time they have to make last minute adjustments.
There are a surprising number of things that have to work together, and a countdown allows engineers to start those things working at the right time. A schedule/checklist follows these all, and interestingly, there is an allotment of "time reserve" outside the countdown.
In essence, normally when you hear "the countdown has been stopped" your gut feeling would be "something went really bad", but the reality is each countdown is stopped a few times normally - these pauses are planned. They allow for these last-minute adjustments that tests have shown to be required; they allow re-synchronizing the countdown in case some tasks took longer than expected, delaying others in consequence. They often overlap lengthy procedures like filling the fuel tanks, but some of them are pauses on their own. The countdown sequence is not written in stone - sure the launch must fit in the launch window (a couple hours) and there's very little deviation allowed during the final seconds, but the countdown a couple hours before the launch is more of guidelines "this should be done about now" than "T-16:36:58.07: flight captain uses a spoon to break the shell of the hard-boiled egg of his breakfast" type of lists.