The duration of an eclipse depends on two factors: the width of the Moon's shadow where it strikes the Earth's surface and the speed the shadow moves over the observer. In turn, the width of the shadow depends on the relative (apparent) sizes of the Moon and Sun and the exact point on the Earth where the shadow falls. The shadow speed is primarily determined by the speed of the Moon's rotation around the Earth but also by the speed of the Earth's rotation on its axis (because the rotation moves the observer at the same time as the Moon is moving the shadow, which effectively slows down the shadow movement).
Because all of these factors can vary quite a lot, eclipse durations also cover a large range. In general, the longest total eclipses will occur when the Moon is at its closest to the Earth and the Earth is its farthest from the Sun: the situation is exactly reversed for annulars. These conditions ensure that the shadow is as large as possible. Both types are longer when the shadow strikes near the equator and when (as seen from the Moon) the Earth's axis is tilted just slightly from the "as far towards (or away from) the Sun as possible" position i.e. near the solstices (summer for totals and winter for annulars). The last two conditions ensure that the shadow speed relative to the observer is as small as possible - the Earth rotates fastest at the equator, thus cancelling out more of the shadow's motion, and the small tilt compensates for the angle of the Moon's orbit relative to the equator, thus ensuring that the observer and the shadow are moving in exactly the same direction so that their speeds can cancel most effectively. The way these variabilities combine is rather a complex matter so I have moved "the tricky stuff" to another page. Those desirous of a deeper explanation should click here while mere mortals should read on for the basic details.
Even taking into account the complications described in "the tricky stuff", the basic statements given above seem straightforward enough, but in practice there are many values of longest duration quoted - one source is often simply quoting from another so it's difficult to get to the true facts. Then of course, it depends what you mean by "maximal duration": how many parameters do you allow to vary from their true-life values? The most believable answers come from work done by the eminent Belgian computational astronomer Jean Meeus. He set up a whole series of fictitious but physically possible eclipse situations and then, by complicated mathematical trickery, forced these situations to converge to a maximal result. Meeus found that in the timespan 2000BC to 7000AD the longest possible total eclipse would have lasted for 7mins 35.9sec (in 120BC). In the modern era the value is 7mins 32.1sec, smaller because of factors such as the decreasing eccentricity of the Earth's orbit round the Sun. In these cases, "maximum possible" seems to mean that the basic parameters of the Sun/Earth/Moon system were kept unchanged from the values they would actually have had at a given instant but the timing was altered a little so that an eclipse would occur. His original calculations were only for total eclipses unfortunately, but more recently he has repeated them for annulars - see below.
Meeus' work gave a number for the duration, but unfortunately told us nothing about the situation that produced the number. To try to shed more light on the "circumstances" issue, in collaboration with Dr Louis Strous (an astronomer and programmer formerly with the University of Utrecht in Holland) I attempted to derive a geometrical model of eclipses using just the basic distances and angles. While it was easy enough to derive the appropriate equations for the shadow width, doing the same for the shadow speed proved to be much more difficult as many assumptions made about the Moon's orbit are not, in practice, true. For example, because the orbit is perturbed very greatly by the gravity of both the Sun and the Earth, it is not truly elliptical neither does it have a constant orientation, shape or eccentricity. This means that its true orbit speed at a given moment will be different from the value calculated by simple theory. One must also take account of such surprising facts as the time between full Moons, called the lunation, (which determines the Moon's speed across the sky as seen from Earth) being not actually constant - it tends to be longer than average near annular eclipses and shorter than average near totals!
After researching and calculating what I could, I found I was able to allow for the non-elliptical nature of the orbit speed by use of a constant factor (different for totals and annulars, of course!) together with an additional very small "fudge factor" for each eclipse I studied, to compensate for geometric errors. There didn't seem to be any pattern to the required fudge factor though [later work indicated it was probably to do with the complexities involved in the duration of the lunation], so in the end I couldn't use my model to accurately predict durations. I did gain a very detailed insight into the various processes involved though, and was able to use my model to derive much of the additional information given on the "tricky stuff" page.
Given the difficulties I had with my geometric model, I decided to try contacting Jean Meeus (via his publishers) to ask about annular eclipses. Just when I was about to give up hope a letter arrived! He thanked me for my interest and said that he had re-done his earlier calculations to cover the case of annular eclipses and the full answer to the problem would be published in his next book in the Mathematical Astronomy Morsels series (number IV). This got into print in September 2007 but wasn't widely available for some time. I eventually got a copy as an extra Xmas present in 2008 (thanks Mavis!) so I can now say that the answer to the simple question "what is the longest possible annular eclipse" is [currently] 12mins 29.4sec. In the same timespan as used for totals (2000BC to 7000AD) the longest possible eclipse would have lasted for 12mins 35.8sec (in 125AD).
What is certain is that because the conditions for any sort of maximal eclipse are incredibly unlikely to happen in practice, the longest actual total and annular eclipses in the period 4000BC to 6000AD are 7mins 29sec (on 16th July 2186) and 12mins 24sec (on 7th December 150AD) respectively. The shortest eclipse duration is of course zero, when the Sun and Moon are exactly the same size - this happened twice quite recently (in 1948 and 1986) but will not do so again until 2931. The longest total eclipse in the 20th Century was on 20th June 1955 [7mins 8sec], with the longest annular being on 14th December in the same year [12mins 9sec]. In the 21st Century the longest total was on 22nd July 2009 [6mins 39sec] with the longest annular on 15th January 2010 [11mins 8sec - the only one to exceed 11mins in the entire millennium].
However, as far as eclipses are concerned, duration isn't everything. One might think that if a 2minute eclipse was good then a 4minute one would be great and a 6minute one fantastic. Up to a point this is true but in fact they show different things, as opposed to the same phenomena for longer. In the case of a total eclipse, longer durations occur when the Moon is larger which means that not only is the bright disc of the Sun hidden but also the area where prominences appear. In a long eclipse you may thus not see any prominences other than in the regions close to where the Moon enters and leaves the Sun's disc while in a short one they will often be visible all round the circumference. Conversely, the corona (though hidden slightly more) will still be visible throughout a long total eclipse, thus making it a better sight for the naked-eye observer than the brief view possible with a short eclipse. In the case of a long annular eclipse, the smaller Moon means that more of the Sun's disc is still visible even at maximum eclipse which will tend to make the sight less dramatic. Another good reason to try to see as many eclipses as possible, to ensure you enjoy the best of all worlds!