Dan Savage, in his weekly sex/relationship advice column made an insightful observation, as more Republicans were coming out in support of gay marriage.
His conclusions: Republicans only care about a social issue if it effects them personally.
His evidence: Nancy Regan was opposed to stem cell research until Ronald Regan benefitted form it; Rush Limbaugh favoured incarceration over treatment for drug abusers until he became one; Republican Senator Rob Portman flipping on gay marriage when his son came out of the closet
His conclusion (not in exactly these words): Republicans are sociopaths. They cannot empathize with others dealing with problems like drug abuse and discrimination. They respond only when they are directly effected.
While this is certainly a gross generalization, it is and excellent observation.