CDNs are simply good architecture -- in any good system, you have multiple tiers of storage, and web systems are no different. Multiple tiers of storage providing caching over intermediate links which may be saturated -- this is a pretty common model for logistics whether you're talking data or packages.
Also, all of the companies you list purchase interconnects or CDN services from large ISPs. So Amazon has a datacenter in Chicago that has a direct fiber connection to Comcast and Verizon networks, for example, that hosts a copy of its CDN endpoints. CDNs are ridiculously easy to build these days; I helped design the build-out of a CDN for a major ISP and we just used off-the-shelf open source software. The hardest part of the project was getting the purchase orders through my client's procurement process. In my mind, that means the engineering here is so uninteresting as to be commoditized -- which means that this is a business problem, not a technical one.
So transit is disappearing, but direct interconnects to big ISPs are just taking their place. On one hand, it's hard to argue against -- it's the right technical solution and there isn't a better option. But at the same time, it concentrates control to a worrying degree, especially as media, telecom and software continue to converge.