That's actually a bit frustrating. Stream-oriented protocols like TCP and STCP are by now pretty solid and work fine (most of time).
However, that's not true for UDP-based transport protocols. They are often not stable or do not have desired characteristics. For example, DCCP does not have support for packet merging and preserves message boundaries. And sometimes the converse is necessary. Also, it doesn't support priorities.
There's just too much combinations. So everyone just invents their own UDP protocol :(
Oh yes, NIH is also present in copious quantities in telecoms.