It is well known that on Easter we celebrate Jesus' resurrection, but every year it is held on a different date, whereas Jesus' birthday—Christmas—is celebrated on the same day every year. So why is the day we celebrate Jesus' resurrection different every year when Christmas is not?
The date of Easter follows similar rules as the date of Passover, and is determined using those rules because of that tradition. (The death of Jesus on that day is significant because of his connection of his death to the sacrifice of the passover lamb.)
In the western church, Easter falls on the first Sunday after the first full moon after the nominal northern-hemisphere vernal equinox. (I call it nominal because it's considered to be on March 21, rather than at the moment of the astronomical equinox.)
In the eastern church, it's based on the old Julian calendar, and so sometimes is on a different date. Hopefully somebody who understands this can contribute.
In Lutheran Christianity, the date chosen for celebrating Easter is the archetypal adiaphoron, or a good example of a thing that doesn't matter. The reformers considered that it was more important to go along with the rest of the Christendom of the time in choosing this date, than it was to somehow get the date "right."
Easter is not on a fixed day in the solar calendar because it is set according to a lunar calendar. Some of the Earliest Christians used the Jewish lunar calendar. Luke uses the Jewish calendar exclusively for dating events in the book of Acts, not only for events occurring in Palestine, but for events outside of Palestine too (Acts 20.6; 27.9) And Paul writes to the Corinthians expecting them to know when Pentecost is (1 Cor. 16.8). By the time evidence for an annual Easter begins to appear in the second century, it is already traditional to set it according to a lunar calendar. (Eusebius, History of the Church 5.23)
At first the Jewish calendar was used, but in the 3rd century Christians began experimenting with independent calculations, and this was the practice which finally prevailed. All the independent calculations used lunar calendars, except for a sect known as the Pepuzites who celebrated Easter on the Sunday falling in the week of April 6th through 12th. (Solomon, Ecclesiastical History 7.18.) The Church of Alexandria developed a lunar calendar that was cyclic in the Alexandrian calendar, which meant that it was cyclic in the Julian calendar also, since the Julian and Alexandrian calendars are synchronized to each other. By "cyclic" is meant that the lunar dates repeat themselves in the solar calendar after a certain number of years. In the case of Alexandria's lunar calendar, it was 19 years. This Alexandrian lunar calendar, which is also the Julian lunar calendar, was eventually adopted everywhere and is still used by the Eastern Orthodox churches. In the west, a new 19-year cycle was devised in the 16th century, and it is this Gregorian lunar calendar that is used today in the west.
A fixed date in a lunar calendar cannot correspond to a fixed date in a solar calendar, but the lunar dates repeat after 19 years. Today, March 16th 2021 was until sunset the 2nd day of Nisan in the Gregorian lunar calendar. Nineteen years from today, in 2040, the 2nd of Nisan in the Gregorian lunar calendar will be on March 16th again. But next year the 2nd of the lunar month of Nisan in the Gregorian lunar calendar will be on April 4th. It is later, not earlier, than this year because this year is a 13-month lunar year in the Gregorian lunar calendar. (All lunar years in the Gregorian lunar calendar have 12 or 13 lunar months, and all but a few exceptional months have either 29 or 30 days.) Easter is always the 3rd Sunday in the lunar month of Nisan, so in the lunar calendar it doesn't "move" any more than American Thanksgiving does in the solar calendar.
The Julian lunar calendar, which reached its present form around A.D. 400, has accumulated an error of 3 to 5 days over the centuries. The 14th of Nisan in the Julian lunar calendar--the Julian calendar's Paschal full moon--is this year on May 1st, 5 days after the astronomical full moon. This lunar error, together with the well-known error of 13 days in the Julian solar calendar, is the reason that Julian Easter is often later than Gregorian Easter.
Why is there a fixed date for Christmas, but not for Easter?
The 25th of December originally was observed as Brumalia, a Roman winter solstice festival. It followed the more well-known Saturnalia. Saturnalia led up to the solstice and Brumalia, which means shortest day. For Christians who were assimilating the populace, the idea of the waxing sun and Christ as the light of the world (Jn 12:46) was a happy coincidence. Chrysostom and Cyprian pick up on this.
The earliest rapprochement of the births of Christ and the sun is in Cyprian, "De pasch. Comp.", xix, "O quam præclare providentia ut illo die quo natus est Sol . . . nasceretur Christus." — "O, how wonderfully acted Providence that on that day on which that Sun was born . . . Christ should be born." -NewAdvent-
In the fourth century, Chrysostom, "del Solst. Et Æquin." (II, p. 118, ed. 1588), says: "Sed et dominus noster nascitur mense decembris . . . VIII Kal. Ian. . . . Sed et Invicti Natalem appelant. Quis utique tam invictus nisi dominus noster? . . . Vel quod dicant Solis esse natalem, ipse est Sol iustitiæ." — "But Our Lord, too, is born in the month of December . . . the eight before the calends of January [25 December] . . ., But they call it the 'Birthday of the Unconquered'. Who indeed is so unconquered as Our Lord . . .? Or, if they say that it is the birthday of the Sun, He is the Sun of Justice." -ibid-
NewAdvent introduces the subject of the 25th in this way.
The well-known solar feast, however, of Natalis Invicti, celebrated on 25 December, has a strong claim on the responsibility for our December date. For the history of the solar cult, its position in the Roman Empire, and syncretism with Mithraism, see Cumont's epoch-making "Textes et Monuments" etc., I, ii, 4, 6, p. 355. Mommsen (Corpus Inscriptionum Latinarum, 12, p. 338) has collected the evidence for the feast, which reached its climax of popularity under Aurelian in 274. -ibid-
So, the history of the 25th of December is fairly well known. It was a winter solstice festival assimilated into Christianity for symbolic reasonings.
For Easter, it too is patterned after a festival observed by the Jews called Passover. This festival is determined by identifying the Spring Solstice, new moon, and first full moon thereafter. This full moon of course varies each year. The moon cycles from dark to full back to dark from 29 to 30 days.
In the fourteenth day of the first month at even is the LORD'S passover. Lev 23:5
So, Easter would vary each year, just as Passover on the 14th of the first month varies each year.
At Nicea, however, it was determined not to observe Easter on the same day as Passover. Here is from the Synodal letter.
We further proclaim to you the good news of the agreement concerning the holy Easter, that this particular also has through your prayers been rightly settled; so that all our brethren in the East who formerly followed the custom of the Jews [of observing Easter on the 14th of new month] are henceforth to celebrate the said most sacred feast of Easter at the same time with the Romans and yourselves and all those who have observed Easter from the beginning [on the Sunday resurrection after Passover on the 14th]. -Letter-
So, the formula to observe Easter as a floating holiday on the Sunday following the Spring Equinox and following the first full month was established.
Christmas is fixed to the 25th of December as a coincidence to a Roman winter solstice festival. Easter is fixed to a Sunday following and never coinciding with the full moon that changes based on the moon cycle.
First let's start with Christmas. We have to do a quick look at church history. Scripture doesn't say explicitly what month and day on the Hebrew calendar Christ was born. Scholars can't even agree on the year, but we have multiple clues. Here's what we know. -Long before Christ was born, the pagans had a winter holiday which was dedicated to the Sun God. This was Dec 25th. The Catholic church wanted to convert the pagans, but at the same time knew they wouldn't give up their holiday, so they took the pagan holiday, and "made it religious" and the Pope said rather than worshiping the Sun God on Dec 25th - we will celebrate the Son of God. But we know from historians, and meteorologists, that it's much too cold in Israel and Bethlehem for shepherds to be out in the fields at night with the sheep. So December is out. That's why Christmas for most Christians is celebrated on Dec 25th. For Russians and Ukrainians and Russian Orthodox believers, it's 2 weeks later - but always on the same calendar day.
Now for Resurrection day- The Jewish calendar is Lunar based, and the Roman calendar is Solar based. For Jews, each month has 30 days and the new moon is the start of every month. Passover is always on Nisan 14th, and the cool thing is that because they use a lunar calendar, Passover is always on a full moon. Christ was crucified on Passover, and scripture says that when the women came to the tomb, he had already risen. This puts Passover on Wednesday and he was in the tomb 3 days and 3 nights, and the only sign that Christ gave the Pharisees that he was truly the Messiah was the sign of Jonah, and He actually quotes Jonah. Matthew 12:40 "Just as Jonah was 3 days and 3 nights in the great fish, so the Son of Man will be 3 days and 3 nights in heart of the earth." It also explicitly says that after the Sabbath, the women bought spices. This is impossible with a Friday crucifixion. The Catholic church thought this meant the weekly Sabbath, [Saturday] but all the feast days are Shabbat. Sabbath. The original text, and even some English translations say "after the Sabbaths" [Plural]. First high Sabbath was Unleavened Bread - Thursday, then they bought spices, and then rested on the weekly sabbath. 3 days and 3 nights in the tomb. The Catholic church made Sunday as the new Sabbath, - since that was the day the women came to the tomb and he had already risen. The word Easter, is from the pagan goddess of Fertility Ishtar. This is how Easter crept into the church, and why it's always on a Sunday.
There is widely-available and well-documented historical sources that confirm the origins of Dec 25th as a holiday, which was officially declared as Christmas by Pope Julius 1 in 350 AD.
While there is one record of Christmas being celebrated in Antioch (Turkey) on December 25 in the middle of the second century, there is no record of its being observed on that date in Rome until the year 336 AD. In 350 AD Pope Julius I declared December 25 the official date and in 529 AD Emperor Justinian declared Christmas a civic holiday. Further legislation by the Council of Tours in 567 AD officially made Advent a period of fasting and preparation; the time from Christmas to Epiphany (the twelve days of Christmas) was also declared part of the festive season.
To some the December date may seem completely arbitrary, but in fact it was a calculated choice that reflected the importance of winter solstice festivals for the cultures of pre-Christian Europe and Asia. To abolish these festivals in favor of strictly Christian forms of celebration would have been extremely unpopular. Though many early Christian leaders such as Gregory of Nazainzus spoke out against combining pagan and Christian ways, it became clear early on that rather than trying to beat the pagans, Christians would be wiser to join them in their own game – to incorporate their most deep-rooted traditions into Christian worship and celebration." - Christmas Day: December 25 Wasn't the First Choice
Easter was traditionally a fertility rite in spring among pagan cultures. The name even comes from a pagan goddess. Since fertility is connected to the cycle of the moon, when this festival was converted into the Christian tradition they followed the same lunar observances.
Certainly, later Christian doctrines have established their own reasoning for the tradition, but the Easter festivals predate Christianity.
Christmas being the birth of Jesus coincides with the winter solstice (see Yule), and most ancient cultures had a winter solstice festival. This is the time when the sun begins its return and it's possible that this was adopted for its symbolic significance.