The conventional wisdom says that there is no difference between sexual orientation and other demographic characteristics. The conventional wisdom is wrong.
Sexual orientation is profoundly unlike such categories as race, ethnicity, nationality, sex, and religion. Why? Because unlike the traditional social classifications, sexual orientation has a teleology, or end point.
Race, for example, is not oriented toward anything; it has no object. But sexual orientation has a teleological trajectory: it is defined by the object of the orientation, which is either heterosexuality or homosexuality. Importantly, from time immemorial, sexuality has been seen in value-laden terms, and not just in the West. For example, incest has been declared taboo in every society in the history of the world. Moreover, all the world's religions either find homosexuality to be morally objectionable or do not pass judgment on it. None accept it.
It is therefore inappropriate to maintain that sexual orientation is analogous to race. Does this mean that gays should not be protected in law from being discriminated against in public accommodations? No. Indeed, they should be protected, as individuals. That is why it should be illegal not to serve a gay person in a restaurant. However, when a restaurant owner who has religious objections to gay marriage refuses to service a gay wedding (assuming he has no problem serving gay individuals), he is not objecting to the individuals, but to the meaning of the wedding. His rights should be protected.
In other words, sexual orientation ineluctably carries behavioral significance. To be exact, we are talking about conduct, and as such it is subject to moral evaluation. That is why it is bogus to compare sexual orientation to race; it's apples and oranges. For this reason, the conventional wisdom needs to be revised.