I think either Mitt Romney or Ron Paul are going to end up winning Iowa.
I think that Mitt Romney is currently the favorite in Iowa. Romney came in second last time in Iowa with 25% of the vote. I think it's easy to see that most of these voters are going to come back and vote for Romney yet again. What really hurt Romney in 2008 was that the "moderate" Iowa caucus goers were split between Romney, John McCain, Fred Thompson, and Rudy Giuliani, all the while the social conservative faction united behind Mike Huckabee. Do you think that the people who voted for these candidates, McCain and Giuliani in particular are going to vote for someone like Newt Gingrich, Michelle Bachmann, Rick Perry, or Rick Santorum? Most of them are going to go for a candidate like Romney.
With Gingrich as the front runner, he's already acting a little too cocky as opposed to his more humble self that allowed him to perform well in the debates. It's not if, but a matter of when Gingrich will fumble the way Bachmann, Perry, and Cain have. Another thing that hurts Gingrich is that unlike the last time, the social conservative vote is split between Gingrich, Perry (who has a lot of money for a national campaign), Bachmann (who has a lot of money for Iowa), and Santorum. Ron Paul (who also has a lot of money for Iowa) is hammering hard on Gingrich which will hurt him with conservatives. While Gingrich is performing well, he also has a rather poor organization and he just isn't a winnable candidate due to his past.
Now if you add bad weather into this mix, Ron Paul will win. He is on the rise in Iowa and he has the money to follow up on it. And his followers are practically zealots. They'll do anything for the man, even braving the snow while the rest will stay home. It's widely believed within the GOP that if the weather is bad in Iowa, Paul has this one.