First is the power of stigma, and particularly the stigma of calling someone a bigot. Traditional beliefs about the immorality of homosexuality is now bigotry. Of course, the word bigotry doesn't do much analysis. It's just a way of saying my view of morality is right and yours is wrong. It seems to me defenders of traditional morality, in their efforts to seem tolerant and open minded, have consistently been on the defense and have lost the debate as a result. Supporters of traditional marriage don't want to be rude and tell others that their sexual practices are immoral. In contrast, supporters of homosexuality vocally and forcefully denounce traditional views about the morality of homosexuality as bigotry.
My other takeaway is that while it sometimes seem on the rise, libertarianism is still very much out the mainstream and may be on the decline. On traditional morality questions, I have no doubt Americans are moving towards what you could call the "libertarian" position, i.e., the government has no business legislating questions of sexual morality. But this shift is not happening because Americans are rejecting big government, but be cause they reject traditional sexual morality. Thus, the RFRA, which would simply exempts individuals (and maybe businesses) from laws that would otherwise require them to violate their religious beliefs unless there is a compelling state interest, is unacceptable. Apparently, people shouldn't be free to act in accordance with their consciences when government has decide what is moral. In contrast, support of the RFRA (or similar laws) is an easy call for a libertarian. So it's not support for government legislating morality generally that's on the decline, just support for a particular brand of morality.