That's pretty hard to generalize. I worked at the biggest CDN for many years. They definitely get free traffic in many places. They had a whole team who's job was talking to network owners and saying "look, you paid for X terrabytes of traffic to us last month. We can cut that cost by 100 if you let us install servers inside your network that will cache the popular content locally."
It all depends on relative size. Bigger networks can demand money from smaller networks and/or CDNs. Networks of comparable size can profitably peer with each other without exchanging cash. Comcast may not do it for free, but the national ISP in a smallish developing country sure might.
It's a big dance, and the relationships are constantly changing. Managing it all in software to actually optimize cost and performance is a big part of the secret sauce for a CDN.