This isn’t about making a “special gay cake”. A business doesn’t have to “sell everything”. But the products they DO offer must be offered to EVERYONE equally. Walmart can’t refuse to sell a man tampons, because they sell them normally. The Jewish deli down the road isn’t required to carry tampons, but if they do, they must sell them to everyone. They also wouldn’t serve ham. They get to do that because they don’t carry ham, and don’t offer to sell ham to anyone. Everyone is treated equally.
Using your special “flag store” above, no… If you don’t sell NY or CA flags to ANYONE, you don’t have to carry it. But if you carry flags for NJ, and sell them to some people, but then refuse to sell them to people from Nevada, that’s illegal. It’s something you’re already providing and selling to the public, therefore you MUST sell it to everyone. (Unless that sale would be illegal via state or federal law, like say guns or tasers, or such.)
If a couple goes into a cake shop and orders a wedding cake, that shop needs to either sell wedding cakes to anyone requesting one, or not at all. They aren’t required to write things on cakes, or even provide a specific topper on the cake. But if anyone can come into the store and order a cake, they must provide that service to anyone willing to pay for it. I should be able to go in as a single man and order a wedding cake from any shop that makes them. Nope, not getting married… I just want to buy/eat a wedding cake, because I have the money to buy it and want it. Same is true for florists, photographers, funeral directors, etc.
Why? Because it’s the law. Because in the past people tried to use the writings of a middle-eastern desert tribe to validate discrimination against all kinds of people. Black people, Chinese people, people that believed in a different magical sky-god, etc. The law says if you’re getting the protections of having a business, footed by the tax payer (tax benefits, personal liability protection, etc), then you must serve the whole community, as they’re all tax payers. You can’t claim your God dislikes Black people, and you get to not serve them based on that belief. If that were the case, you’d have taxation without representation (since their taxes are, in part, paying for benefits your business uses). Same for LGBT, Muslims, Chinese, and any other minority.