So, what's left? The best explanation is the Bradley Effect.
What's the Bradley Effect? The general idea is that whites lie to pollsters and falsely claim that they're undecided or voting for a black candidate because they're afraid that they'll be thought of as racists if they tell the truth. The effect is named for Tom Bradley, but it has also appeared in high profile races featuring Harvey Gantt and Doug Wilder, both of whom produced results at the ballot box that were too far apart from the polling data to explain with conventional wisdom.
One thing that people seem to misunderstand about the Bradley Effect is that it's not about racism per se. People aren't lying to pollsters because they're racists; they're lying to pollsters because they fear that they will be labeled as racists. That's not the same thing, although you wouldn't know it from some of the liberal commentary on the Bradley Effect.
Does the Bradley Effect happen in every election that features a minority candidate? No, it doesn't. For example, there was no Bradley Effect in the Tennessee Senate race in 2006, which featured Harold Ford running on the Democratic ticket.
However, what you have to consider is that New Hampshire was set up perfectly to create a Bradley Effect.
Well, consider the circumstances: Republicans probably wouldn't falsely claim that they're voting for Barack Obama because they're expected to vote for the Republican anyway. But, this was a primary; so there were no Republicans voting in the Democratic race. Minorities also aren't going to worry about being perceived as racist, but New Hampshire is almost 96% white, so there were very few minorities participating.
Next, which group of people do you think would be most likely to lie to a pollster and say they're supporting a black candidate out of fear of being perceived as racist? You'd have to think that would be white liberals, which probably describes the majority of voters in the New Hampshire primary.
Additionally, consider that in this case, Hillary Clinton and Barack Obama have almost identical views on the issues. So, you have Barack Obama, who's young, dynamic, loved by the media, and the first black man with a legitimate chance to be President, running against a corrupt, unexciting, inauthentic, establishment candidate like Hillary Clinton. You'd have to think that would add a little extra pressure on these white, New Hampshire liberals to say that they were voting for Obama, even if they really supported Hillary.
Now, you may say: "Gee, well why didn't the Bradley Effect kick in during the Iowa caucus?" Remember, in Iowa, it was a caucus so everyone could see how other people were voting. If anything, because it was public, it may have actually helped Obama's numbers there.
Along similar lines, you may wonder how much of an impact the Bradley Effect will have in Nevada and South Carolina? The answer: it probably won't be as big a factor in either of those two states.
Why? First off, neither of those states is as liberal as New Hampshire. Democrats in both of those states tend to be more moderate, hence less politically correct, and less concerned about appearing "racist." Moreover, those states just aren't as white at New Hampshire. South Carolina is 68.5% white and Nevada is 81.7% white. More minority voters mean more people who don't have to be concerned about being called racist for voting against Barack Obama. Does that mean the Bradley Effect will disappear in those states? Probably not entirely, but it will likely be considerably smaller.
Long story short, in hindsight, the Bradley Effect is probably the best explanation of why the polls were off so badly in New Hampshire.