I started running in 2004 and ran 4:19 with very little prep. The following year I trained to a runner's world 'sub 3' schedule and hit 3:13. The same year I tweaked (increased) the training and ran 2:58.
By 2006 I started training 'seriously' and 2:44 followed that Spring.
The following year I tried 100++ mile weeks and kept improving and thought I had a good shot at sub 2:30. I faded to 2:34 (5km = 15:34)
The following year my training was more like 60-70mpw with the 3 weeks prior to taper in the low 100s. I faded after 22M and got a low 2:31. (5km = 15:11)
I skipped the following spring marathons and concentrated on the summer track season. My fitness was poor in May (scraped under 34mins for 10km road) but after 8 weeks of consistent training I ran PBs at steeplechase, 10,000m (31:50) and 5000m (14:59). In August, a little before the 5000m race I decided to enter a fall marathon. Following the 5km I had 6 weeks to train - 4 hard weeks (90mpw), one medium week (70) and one to taper. Despite only 3 'long' runs (many more were in the 15-17 range) I ran solidly to 35km in 2:02:46 and held it together for a 2:28.
For me it was year on year (4 years of proper training).
The key training sessions were all fairly marathon specific. One I grew to love was heading to the track at a quiet time and running lap after lap in 84s or thereabouts. I'd typically build up to 32 - 36 laps.
The second involved hitting my local (flat) park and maintaining ~5:45 pace for 8 - 12 miles. This was on gravel and grass so effort wise was only marginally easier than the track work.
My times from 1500 - marathon stack up evenly on the 'tables', yet I feel my 5000m shows potential for about 2:24 rather than 2:28. The lure of netting a sub 2:30 was key and my short build-up not long enough to do much better.