The common explanation that I have heard for why Christmas is celebrated on December 25th is that the early Christian Church wanted to displace the Roman holiday of Saturnalia. A while back I came across another explanation. I found it in the book “Christmas Watching” by Desmond Morris.
Morris explains that some time in the early history of the Church, a clergyman determined the date of Christ’s birth by making a few assumptions. He began with the assumption that Christ lived exactly 33 years. Not a day more, not a day less. Then he considered the tradition that the actual calendar day of the crucifixion was March 25th. Which is also when the “Annunciation of the Virgin Mary” (ie. “conception”) is celebrated.
Since Christians consider life to begin at conception, the clergyman added exactly 9 months to March 25th to get the date of Christ’s birth to be December 25th. Simple?
Of course, the actual day doesn’t matter to most Christians. It is, like the gifts that are given on Christmas, the thought that counts.