Traditionally - and only because its always been done this way, Iowa has the first presidential caucus and New Hampshire has the first presidential primary. Florida - along with other states - have tried to nudge ahead of them though. Florida has made it official for 2012, and other states (South Carolina and Nevada) may change their primary dates as a result.
Some argue that they should. Neither Iowa nor New Hampshire has a population that mirrors that of the United States so there is no guarantee that the winner of those primaries will go on to be the winner of the general election.