I think another factor is that many people, predominately white working class people, feel as though their voice is not represented.
Be honest here, people had a chance to vote on whether or not to legalize same sex marriages. From California to Ohio to Michigan to North Carolina to Mississippi to Missouri...people, in many cases emphatically, voted absolutely not.
Then, by a 5-4 Supreme Court decision, their voices were told, "We don't care what you want".
Do you really think that in the 1950s the Southern states would have voted to integrate public schools or to outlaw segregation? By over 90% of the vote, civil rights would have lost in state after state after state - it took a liberal Supreme Court to uphold the rights and the dignity of a minority population that was not just hated in the South, but in parts of the North as well.
If gays were the majority of one state and they decided that heterosexuals should not be able to marry one another, and if that's what the state voted for, would that make it right? No. It is democratic though but the United States is not a pure democracy. "Tyranny of the majority" needs to be checked.