Cacuases and Primaries

A simple question: I know this has probably come up before, but exactly why are the big contests in the year leading up to an election always in Iowa, New Hampshire, South Carolina, etc?

I know all states have some kind of selection process, but why do those states in particular and in that order? How did the process come about?

New Hampshire has a law that states that they must have the first primary in the nation, and they have for many many years.

This article explains why Iowa comes before New Hampshire.

Iowa and New Hampshire both jealously guard their positions at the head of the calendar, and both parties go along with it rather than risk ticking off Iowa and New Hampshire voters.

The order of the other states is not consistent from year to year. South Carolina’s early primary is a recent development.

The commonly-given rationale for the special status of Iowa and New Hampshire is that they’re relatively small states, so candidates can travel and by ad time on TV without needing a huge amount of money. It helps as well that they’re two of the more prominent “swing” states: i.e., about equally likely to vote Democratic or Republican in a close election. (Iowa went for Gore in 2000 by a few thousand votes, and New Hampshire went to Bush by a similar margin.)