A great series for you to read.
tl;dr
Udp is good. client to client sessions are terrible over the internet.
(it's called peer-to-peer instead of client-to-client, because there is no client role in such a system).
Didn't know that. But makes sense.
In the WebRTC case, the server could simply be a "peer" too :)
(it's called peer-to-peer instead of client-to-client, because there is no client role in such a system).