Paul Freedman at Slate has a great analysis of the election results, The Gay Marriage Myth: Terrorism, not values, drove Bush's re-election. Comparing the 2004 election to 2000, and also 2004 states with anti-gay rights initiatives to similar states without such initiatives, Freedman concludes that gay rights and other moral value issues were not significant to Bush's win. Instead, terrorism was the deciding factor.
This may seem obvious - what with Osama bin Laden popping up just days before the election - but it is contrary to current conventional wisdom that gay rights brought evangelical and Hispanic voters out in record numbers. In fact, conventional wisdom is often whatever story is catchiest, regardless of data.
These differences hold up at the state level even when each state's past Bush vote is taken into account. When you control for that variable, a 10-point increase in the percentage of voters citing terrorism as the most important problem translates into a 3-point Bush gain. A 10-point increase in morality voters, on the other hand, has no effect. Nor does putting an anti-gay-marriage measure on the ballot. So, if you want to understand why Bush was re-elected, stop obsessing about the morality gap and start looking at the terrorism gap.