The baker was asked to make a cake that he has made for countless other folks, and he refused because the couple was gay.  If the baker was asked to decorate it in a manner that he found offensive (and by that, I mean more than just 2 guys' names), then I'd side with the baker, so long as he still offered to sell them a cake and the supplies with which to decorate the cake.  In other words, refusing to sell the gay couple #4 from the catalog because of the couple, or the event, would be discrimination.

To answer your other questions....the same holds.  If the request is for a run-of-the-mill cake birthday cake (say, #15 from the catalog), then the baker should provide the good.  If the customer wants the cake decorated in a manner that the baker find offensive (swastikas, political logos, etc.), then they can refuse, so long as they still offer to bake the cake and sell the customer the materials for which to decorate it themselves.