It does just one thing, and it should do it well. No duplication of efforts by writting support for same devices in multiple softwares.
In future if I wanted to redo HA from scratch or swap it with some else software, I can continue using Zigbee2MQTT without repairing all devices.
Even, I can test different software in parallel, by connecting it to already running MQTT, to access sensor readings of my existing running Zigbee network.
It is decoupled from home automation system.
It does just one thing, and it should do it well. No duplication of efforts by writting support for same devices in multiple softwares.
In future if I wanted to redo HA from scratch or swap it with some else software, I can continue using Zigbee2MQTT without repairing all devices.
Even, I can test different software in parallel, by connecting it to already running MQTT, to access sensor readings of my existing running Zigbee network.