Various people have stated that uneven data flows (e.g. from mostly-content networks to mostly-eyeball networks) is a good reason to not peer.
I think the industry simply needs to accept that it's more expensive to receive traffic than to send it. So yes, Cogent sends Level 3 more traffic than Level 3 sends them. But that's because Level 3's customers want to receive a lot of traffic, and it's just a fact about the Internet that it's expensive to receive traffic. Sorry. Bill your customers or design your business model appropriately. If I want to send you a packet and you want to receive that packet, I should expect to pay the costs of sending the packet to you and you should expect to pay the cost of receiving the packet from me. If one costs more than the other, well, that's the breaks. The benefit isn't always equal, why should the costs be? The question is whether the benefit to each side exceeds their cost. Yes, that can't possibly work. It's way too simple and actually makes sense. DS