I suspect the critical difference between Iowa and New Hampshire was all in the process: A caucuse like Iowa's is determined by a much smaller percentage of the state's population than a simple primary election. After all, how long does it take to vote (or maybe just fill in a mail-in ballot)? Participation in the caucuses required many hours, travel time, money, complicated advance organization, etc.

A fairly small number of Iowa Obama-enthusiasts probably "flooded the system" because they were willing to do all of that for their candidate. If Iowa had a primary election instead, I think Senator Clinton would have won the Democratic side.