I wrote and maintained an IP/UDP stack for an expensive, reliable, industrial packet radio, so you should back off your presumptive, elitist tone.
Sure, they maintain a control TCP channel like ftp but that's a normal pattern. Falling back to other protocols is a necessity because some environments literally lock down everything apart from ARP, DHCP, DNS, HTTP/S and email.
Writing an application-level protocol to make UDP act like TCP or SCTP is a sign of failure to fix issues lower down.
Worse, UDP often gets dropped first when a network is saturated, and it's harder troubleshoot to because it's not connection-oriented stateful and doesn't work with existing tools... debugging now requires nonstandard knowledge inside an app. (Turning a browser into an OS is a metastasizing cancer.)
There are better ways to solve efficient, low-latency content distribution and bidirectional state RPC without reinventing everything every other year.
Sure, they maintain a control TCP channel like ftp but that's a normal pattern. Falling back to other protocols is a necessity because some environments literally lock down everything apart from ARP, DHCP, DNS, HTTP/S and email.
Writing an application-level protocol to make UDP act like TCP or SCTP is a sign of failure to fix issues lower down.
Worse, UDP often gets dropped first when a network is saturated, and it's harder troubleshoot to because it's not connection-oriented stateful and doesn't work with existing tools... debugging now requires nonstandard knowledge inside an app. (Turning a browser into an OS is a metastasizing cancer.)
There are better ways to solve efficient, low-latency content distribution and bidirectional state RPC without reinventing everything every other year.