yes range is #1 reason. it also has the extra benefit of being a “set it and forget it solution” that will just continue to work as long as your mqtt server is up. Where with the native BLE HA integration it is possible an HA/Linux update etc can affect always changing bluetooth drivers
It also allows you to use bluetooth on HA for other integrations. You can’t mix and match bluetooth integrations without multiple bluetooth hardware. An ESP32 is usually cheaper than a bluetooth usb key or same price
Also my code has a few more features than the HA integration
If the HA integration is working for you though then that’s cool. I had issues with range from my hub. Having the ESP32 close to the switchbot makes it super fast and reliable