Why do the dates vary?
As with the June solstice, the December solstice’s varying dates are mainly due to the calendar system. The Gregorian calendar, which is used in most western countries, has 365 days in a common year and 366 days in a leap year.
However, the tropical year, which is the length of time the sun takes to return to the same position in the seasons cycle (as seen from Earth), is different to the calendar year. The tropical year is approximately 365.242199 days but varies from year to year because of the influence of other planets. The exact orbital and daily rotational motion of the Earth, such as the “wobble” in the Earth’s axis (precession), also contributes to the changing solstice dates.
The solstices can also be observed by noting the point of time when the sun rises or sets as far south as it does during the course of the year (winter in the northern hemisphere) or maximally north (summer in the northern hemisphere).