Yes, of course, Christmas is a good holiday and many good things can be learned from celebrating this holiday. As Muslims we don't celebrate it because we already have two holidays of our own. And on these holidays, we still keep up with our religious duties, but at the same time we give each other gifts, attend gatherings to eat lunch or dinner, hang out with friends, etc. Muslims kids eventually learn why we celebrate Eid al Adha and Eid ul Fitr and learn more about their religion. And just to take a little pride in my holidays, Eid doesn't teach children to lie from a young age, as some Muslim children who do celebrate Christmas learn that its ok to lie once they find our Mr. Santa Claus isn't real
So I mean, why should I add another holiday to my religion when I already have two great ones? Why should I follow these traditions of getting together on one certain day of the year with all of my relatives, when Islam calls for people to maintain the ties of kinship? Why should I wait until December to buy a bunch of presents when Islam calls for people to spend on their wives and donate to charity, even if it's just a smile?

These things you mention about getting together to eat, buying each other presents, and feeling safe and warm should be done moderately throughout the entire year, not just one day annually at such high intensity. Now that i think about it, I feel sad when in June my friends tell me they dont get gifts until Christmas, or can't wait for their birthdays to get money. Like that's a pretty long wait.
Same thing goes for Valentines Day, I mean it's a great reminder for love and affection towards your loved ones, but I know of many people who don't do anything special until this day comes.
I mean, by all means, if your non-Muslims, then you can celebrate those holidays, i don't mind. But when it comes to Muslims, I'm just like come on man, have some pride!:statisfie