I think Tim Cook misses the point. There is a world of difference between the government discriminating by not letting homosexual couples say file a joint tax return and Jane's Wedding Cake emporium refusing to put two groom cake toppers on their baked goods.
Civil rights laws that try and force a private business to serve all customers should be considered unconstitutional. We have the freedom of association under the first amendment that implies a freedom to disassociate from others or other groups in order to have any meaning at all, and if you won't accept that argument than refusing service or entry could also be viewed as kind of speech.
Personally I can't understand why any business would ever do this. To mean one person's dollars are as good as the nexts. I don't care what color, or gender passing them across the counter to me happens to be. I also don't really care about the religious ideas or sexual desires the mind governing that might hold, only that its willing to freely offer me dollars in exchange for whatever good or service I happen to be proffering. Same goes for hiring, I just want the person who will do the best job for lowest cost.
I don't think its right to deny someone based on race,color,creed, sexual orientation etc, but as strongly as I feel that is wrong, so do I feel about forcing someone to act against their will or conviction. So the baker who wont sell a wedding cake to the nice gay couple is a prick, he will loose their business and mine, because I'd prefer to do business which someone I think well of.
Ultimately the market prevails, you can the relative economic success of places across the world, and you find with a few exceptions that happen to be sitting on huge oil reserves, the wealthy places are the ones that don't have serious problems with race, or gender discrimination. I suspect that correlation is no accident.
Our economy is large enough that minority groups who face discrimination probably can find another employer or another shop who will treat them fairly. I don't think that is a problem, for one thing nobody can tell much about who or what you are behind a web form. I think we should err on the side of individual freedoms here.
Where we need to be careful though is all the places government is involved, if we don't make sure our tax policy, family law policies, education, civil services, law enforcement behavior, etc are equal for all citizens than we are failing as a free society. The 'system' should work for everyone.