I agree with a lot of the advice being offered here, but there's one particular training modality that hasn't been mentioned once, and that was crucial for me in lowering my marathon PR from 3:06 to 3:00 to 2:53: hill repeats.
When I tried to qualify for Boston in 1983, I needed a sub-2:50. I was living in NYC at the time, running a lot of races in Central Park and Van Cortlandt Park, averaging about 36 flat for 10Ks and just under an hour for 10-milers. I was averaging 55-65 mpw, with a regular long run of 16-20 and with the latter portion of that run pretty hard--right at threshold.
What got me over, I'm convinced, is hill repeats up the hill at the NW corner of the park. I can't remember how many I did, just that I did them. These days I run 60 second repeats up a shorter, steeper hill; back then, I suspect that I ran 90 seconds or so, harder and faster, since the hill isn't quite as steep. I remember running (I was 25 y.o.) hard enough that by the end my fingertips were numb.
Many years later I came across an essay by Tom "Tinman" Schwartz in which he argued that hill repeats were the missing element of proper marathon training. He claimed that after 16 miles or so, runners tended to lose elastic strength in their quads from the pounding, which led to a shortening of their stride, a falloff in pace, and a failure to achieve their hoped-for time.
I took this as confirmation of my gut sense that the hill were giving me strong, almost tireless quads. 55-65 mpw is decent mileage for the marathon, but not when you're pushing the limits--which, calculators now tell me, is what I was trying to do by shooting for 2:50 with those other race times. In the end, I ran about a minute faster than the calculators say I should have been able to run on that mileage, even though I didn't achieve my goal.
Hills are one key. Strong quads for the later stages. The great Kenyan marathoners all do them.