I was more thinking about distro's multicasting package updates and everyone being able to
pick them up. Sending a package update ten times a day for ten days means almost everyone has
the chance to pick it up. Uploading a file a hundred times instead of once per user uses much
less bandwidth if you've more than a few hundred users. Bandwidth usage can be controlled on
the client side by choosing how many streams are read simultaneously.
Throw in a traditional client-server thing to retrieve lost packets or missed updates, and to
enable people with crappy ISPs or routers which don't support multicast, and you've a complete
solution.
Of course multicast has its downsides and troubles, so you'd want to use Source Specific
Multicast, and IGMPv3 support is needed for that. No idea how well (home/ISP) routers do that
though.