The poster that said that only 40-50 Americans do it in an average year is onto something. Let's think about what that means for a moment. That is an average of about 1 person per state. One.
Think about that for a moment. That means for an average state, you would (probably) have to be the best marathoner, and assume that your competition for that title consists of people from approximately a 10 year spectrum (for marathons, early/mid-20's to early/mid-30's).
Sure, some talented runners never give the marathon a shot, and others quit the sport altogether, but there are lots and lots of dedicated runners throughout the country, and a very small percentage run 2:20 or faster.
Lastly, because it is a marathon, add in the variable of needing lots of things to go right to actually run 2:20 or faster on the day even if you have the fitness. I thought I had the fitness in 2008 at Twin Cities, but pouring rain and a nasty headwind for a chunk of the race slowed everyone down and I ran 2:22.
Long story short, you need to have a good amount of talent, but a lot of other things have to happen, too.