From stuff I've seen here and elsewhere I think the most important reason
for this is congestion at NAPs making it impossible to suck (or shove)
lots of bandwidth at anything but your provider's backbone.
In using "NAPs" above, are you just talking about the NSF NAPs or all
interconnections? I think it may be an overstatement to say that all NAPs
are congested. Perhaps that not what you meant. My experience is that
provider backbones are congested at times as well. It is unclear how
fast providers can address these types of problems. My experience is that
providers often don't have large enough ingress into the NAPs. So, sometimes
the NAPs are congested and sometimes the providers have inadequate facilities
to make the best use of the NAPs.
I haven't considered yet the maintenance/logistical cost of managing
15 T1s to 6 or 7 providers vs. the "ease" of two frac-T3s to two providers.
Generally for each connection to each provider, you would have to set up
BGP. This will have some cost in processing and memory in your border routers.
This will also involve dealing with full routing information and maintaining
valid filters relating to the the changes that occur in other parts of the
Internet. I believe that some providers have people who spend full time just
doing this task, so you might have to allocate the same resources to do that.