Those are not specific to WebRTC though. They are needed protocols if you want a chance to traverse NATs. They're used by WebRTC and other VOIP stacks too.
Yep, same here. Especially when one takes a step back, loads a h323 softphone that, unlike browsers on linux, uses hw encode/decode, and suddenly my laptop doesn't want to fry itself.
Ways for punching through NAT. STUN lets you discover NAT addresses and the like to try and establish a connection with a port on the WAN IP, or some other connection mechanism. TURN is effectively a proxy that can be used by both sides to establish a connection through NAT.