Arjun Mehta1 month agoMost voted8
For live audio/video, late data is worse than lost data. If a packet is lost and TCP waits to resend it, everything behind it waits too, and by the time it arrives that frame is already old. That's the freeze-then-catch-up thing.
With UDP the app just keeps going, one lost packet is a tiny glitch you barely notice. The app adds its own recovery where it's actually needed.