Why do the dates change every year?
Furthermore, why does Easter's date change every year?
Easter's exact date varies so much because it actually depends on the moon! The holiday is set to coincide with the first Sunday after the Paschal Full Moon, the first full moon after the vernal equinox. Because the Jewish calendar is tied to solar and lunar cycles, the dates of Passover and Easter fluctuate each year.
Similarly one may ask, how often do the days of the year repeat?
The Gregorian calendar repeats itself in 28-year cycles. A calendar for a particular non-leap year repeats itself after 11 years twice and repeats itself after six years once in a 28-year span. Calendars for leap years repeat themselves every 28 years.
So we have to have the spring equinox (March 21). Then the first full moon (March 31), and the next Sunday is Easter. That date will change every year due to the phases of the moon. Good Friday is the Friday immediately preceding Easter, so that date will also change every year.