One popular but less-likely theory for why we celebrate Christmas on December 25 is that Christians piggy-backed their Christmas celebration on the Roman pagan Sol Invictus festival (the Unconquered Sun), which was established in A.D. 274 by the Emperor Aurelian. In some modern Christian circles, the claim that the date of Christmas was borrowed from a pagan celebration is used to discourage Christians from participating in Christmas celebrations. But this is probably not the origin of the December 25 date.
I don’t know of any Christian authors from the early years of Christianity all the way up into the Middle Ages who suggest such a link to the Sol Invictus festival. Furthermore, the December 25 date seems to have been known and used among Christians before Christianity was conjoined with the Roman Empire in the fourth century. That is, the date seems already to have been in place by the end of the third and beginning of the fourth century, at a time when Christians were being persecuted, which renders the suggestion of cultural borrowing far less likely.
Honestly, until recently, I had never come across an explanation for the source of the December 25 date that made sense to me. But in the modern period, Louis Duchesne suggested another option that was developed further by Thomas J. Talley that seems to fit much better with hints from the early church. That is, December 25 emerged from the early Christian belief that there was an association between the date of the conception of Jesus and the date of his crucifixion. In other words, from the third century onward, various Christians in several locations indicated that they believed that Jesus was conceived in Mary’s womb on the same month and day that he was crucified (obviously, not the same year). Since many of these Christians thought that they knew the date of his crucifixion (March 25 = Nisan 14), and since they thought that the month and day of the conception and the crucifixion were identical, they only had to add nine months from the presumed date of his conception (March 25) to come up with the date of his birth (December 25). Interestingly, some Eastern Christians thought Jesus was crucified on April 6 instead of March 25, and presumably because of their association of the date of the crucifixion with the date of the conception, they celebrated — and today Armenian churches still do — the birth of Jesus on January 6. Yes, exactly nine months later!
So the date of the birth of Christ may have been derived from an early Christian notion that Jesus was crucified on the same calendar date as he had been conceived by Mary a few decades prior; that is, by adding nine months to that date. This does not mean we know for sure the date he was born, since early Christians disagreed about whether the correct conception/crucifixion date was March 25 or April 6 — and even those two dates may not be correct — but it does offer a plausible explanation for why most Christians celebrate Christmas on December 25.
Andrew McGowan wrote a simple and informative article about this a few years ago in Biblical Archeology Review if you’re interested in going a little deeper.
 Louis Duchesne, Origines du culte Chrétien, 5th ed. (Paris: Thorin et Fontemoing, 1925), 275–279; Thomas J. Talley, Origins of the Liturgical Year, 2nd ed. (Collegeville, MN: Liturgical Press, 1991).
 Again, this does not mean that these (somewhat) early Christians got the month and day of the crucifixion correct. For various reasons, most modern scholars think that Jesus was crucified either on April 7 (A.D. 30) or April 3 (A.D. 33), rather than on March 25. But the issue isn’t whether they got the date right, but when they thought the crucifixion—and thus the same-month-and-day conception—took place.
This post and other resources are available at Kindle Afresh: The Blog and Website of Kenneth Berding.