There’s a formula for it, known as computus, which should probably provide a good clue as to how long it’s worked this way.
The general theory is that Easter is the Sunday following the full moon following the Spring Equinox in the Northern Hemisphere. That said, the Equinox in question is always said to fall on 21 March, regardless of when it actually falls, and the full moon is what’s known as an “Ecclesiastical full moon”, rather than the sort you can observe in the sky at night.
Confused yet? Good.
What happens is that all the days of the year are grouped together into lunar months, and the one which has the end of March in it has 29 days (apart from leap year, when it has 31). There are 12 of these months in a year, which totals either 354 or 355 days, depending on whether it’s a leap year. So it’s about 11 days shorter than the year on your calendar. There are complicated rules about adding a month sometimes, but don’t let’s look into those.
The fourteenth day of each lunar month is referred to as the full moon (regardless, remember, of whether there’s actually a full moon visible on that night). The first lunar month in the year to have this full moon after the 21st of March is the month in which Easter is celebrated. The Sunday after that full moon is Easter Sunday.
As a result of all of this, the date of Easter Sunday can be anywhere from 22 March to 25 April, due to the difference between ecclesiastical lunar months and calendar ones. Assuming you are so inclined, it also means you can calculate that date as far in advance as you’d like to (Wikipedia has a table running from 1999–2039, for example).
Importantly, all of the above relates to the Western churches (Roman Catholicism and Protestantism), which use the Gregorian calendar. The Eastern churches use the Julian calendar, so their dates are usually different.