When you dig down into it, the *protocols* are broken, not necessarily their implementation (although theres a lot of that, too). For the life of me, I can't seem to figure out why.
Zigbee is probably the best at that, with retries and acks even on multicast signals, and I understand why...