Little-known fact: Easter does not actually change its date from year to year. It's always on the very same day... of the Jewish (not Gregorian) calendar.
Short version: Because the traditional Hebrew calendar is based heavily on the lunar cycle, it will drift, over time, away from the Gregorian (solar) calendar that we use. It doesn't drift too far, though, because every few years a leap MONTH is added. Forget the occasional extra day in February or the arguments over the leap second, we're talking about an entire extra month.
I was going through old notes while doing some Easter planning and found this old link. If this interests you, click here for a much better explanation than I can give.