Why Does Hanukkah Change Dates Every Year?
(My daughter's father in law asked this, today, so I said I'd find the answer.)
The Jewish calendar is a lunar calendar, which means it's based upon the cycles of the Moon. The modern secular calendar most people around the world use (known as the Gregorian calendar), is a solar calendar, which means it's based upon Earth's revolution around the Sun.
There are about twelve and a half lunar months in a solar calendar year. To make sure that lunar months always occur in the same seasons, the Jewish calendar incorporates a leap month every few years.
Since the Jewish and Gregorian calendars are based upon different cycles, set dates on one calendar correlate to different dates on the other calendar each year. Although Hanukkah always begins on the 25th day of Kislev, that date can fall anywhere between late November and late December on the Gregorian calendar.
So that's why Hanukkah always changes dates every year on the Gregorian calendar
while always being on the same date every year on the Jewish calendar!
https://wonderopolis.org/wonder/why-does-hanukkah-change-dates-every-year