What device that needs to hit the battery specs of the typical zigbee device isn't running zigbee?
Problem is, the so call "
battery spec" isn't viable for the initial goal of this technology. The idea of ZigBee in pre-2004 release is ad-hoc mesh network; one can deploy nodes freely to any location and they will forming a mesh network to reach the farthest points. But in real implementations the current consumption of the very basic RX consume are too large to maintain the receiver on all the time (ironically, TX current is even lower than RX). Battery will just die in few days in you're trying to run a router node on battery, because you need the receiver on all the time so that it can act as a relay node. That's what the spec demanded.
This technology lacks any network-wide approach for time syncing. The so-called "beacon-mode" in 802.15.4 is nothing by a self-contradictory joke. Beacon can only be sent by the coordinator of a network and can only be received by the first tier nodes. And when a node is receiving beacon it's forced to be act as an end node. In other words, the spec itself is demanding you to make it a star-network and only star-network if you want to preserve power by TDMA approaches.
ZigBee Alliance forum had discussed about this for several times. I know because I was there, in all Open House events, and I've proposed several possible workarounds, including out-of-bound synchronizer signal and wake-on-RX design tweak in the PHY layer, but the final verdict was: find a way yourself.
So in the end we have what we can see today: a node can either passively submit trigger events like a remote controller, or working on a very long duty cycle like a sensor, or it must be plugged in wall socket outlet all the time.
and they are totally free to choose any tech they wanted because they only officially support their hardware with their hub.
Again this is not what the ZigBee Alliance wanted. We have ZDO, End nodes, Service Discovery and Profiles so that we can have interoperability between different hubs and devices, but now the venders just make it proprietary. They just discarded all the identities of this technology, and it literally makes no difference if they choose other proprietary digital modulation like TI CC1000 series.
In fact it's probably better if they make it that way because 802.15.4 is prone to 2.4GHz interference, as there is no any frequency hopping scheme within the spec. The DSSS baseband isn't really super helpful in real world, especially in environments that 2.4GHz band is congested by WiFi or PSTN wireless phones. To make it even worse: many SoC ZigBee modules just failed to achieve the required RX sensitivity. So we need 12~ db noise margin in real world deployment, and that would be a challenge for any distance longer than 60 feet, not counting the obstacles like walls and doors. This is a plain nightmare for indoor environment, because human body is a huge obstacle for 2.4GHz signal. It's insignificant for 100mW WiFi signal, but for 1mW 802.15.4 signal it's a completely different story.
You have so many companies independently choosing zigbee
That's because the marketing strategy we were taking at that time: to make ZigBee a cable replacement of RS232. We knew that ZigBee wouldn't sell if we just ship it with SDK, so we made it compatible to the UART AT-commands. About all the chip venders and SI were selling their kits this way at that time. This greatly reduced the development cost for device venders, that can cover the higher cost for the transceiver units.
Also, don't forget that Bluetooth LE is officially released in 2011 and the compliance certification in 2012. Before that there were no other mid-range low spec wireless communication technology based on 2.4GHz ISM band for commercial products. All the other competitors, including Bluetooth 3.0, were killed in 2008 Lehman Bros. incident.