This is patently false. They don't host
services, sure, but the current landscape has all but shaped application design into assuming at least one party will be behind a NAT, which heavily centralizes traffic because it becomes impossible to make truly decentralized apps. Take a small look at the TURN and STUN, things that would have no business existing if all nodes could have an address.
There are very valid reasons to want to send traffic to a node so called "out of the blue", and suggesting otherwise suggests you have never looked deeper than HTTP.