Personally I use the two terms at different times of the year. I'll use happy holidays from Thanksgiving into the first week of December, and then switch to merry Christmas til December 26th, at which point I say happy holidays again til the new year. Whatever you say, it's the sentiment that counts.
Christmas is a national holiday, deal with it. When did this country become a bunch of pansies and whine about every little thing. I don't whine when Americans celebrate Cinco de Mayo, hanukkah or Juneteenth. I support your right to celebrate whatever you want to celebrate but I refuse to let you limit my speech because of something so petty.
It has always been Merry Christmas, and Merry Christmas it will be. If some idiots are "offended" by this greeting, they should get out of here and go back to whatever country they like. Here, in this country, we celebrate Christmas, and we are not ashamed of it. We don't intend to offend anyone by it, either. It's just a holiday we have.
Especially in a society such as America. In america there is such a mix of cultures that saying Merry Christmas is just rude. To say Merry christmas assumes that the person you are speaking to is Christian or celebrates Christmas. To avoid beign rude or assuming, I think it would be better to say Happy holidays. Now if you know the person celebrates Christmas then by all means say Merry Christmas, if you know what the person celebrates wish them a happy/merry blank. But to those you don't know say Happy holidays. It's not offensive and not everyone celebrates Christmas.
I'm not forcing anybody to say Happy Holidays, but I think it's better than saying "Merry Christmas."
Happy Holidays is something you can say to anybody. You can say it to someone who celebrates Hanukkah, Kwanzaa, Christmas, etc.
You really can't go wrong with Happy Holidays. It prevents that awkward conversation with someone when they respond with "I'm Jewish" after you wish them a Merry Christmas.