Microsoft made me sign in on their Xbox Accessories app to update the firmware on my controller
Had to install this app which then made me sign in (using my work PC) to update the firmware on my damn controller. Wish there was a way to do this in Linux. I'm so over Microsoft's crap.
I can't speak to Bluetooth as I don't know much about it from a software development perspective, but when I first started working with USB I was surprised to find that the hardware is really simple but there's a ton of software that makes it work. Specifications evolve over time to add features or improve efficiency. This neccesitates code changes, and those code changes have to be made at both ends of the connection if you want the devices to continue to be able to talk to each other. Aside from maintaining the interface code, there are probably also changes and improvements to the device itself. Thus, firmware updates. Make sense?
For earnest reasons? 8bitdo does firmware updates to improve stability and latency, and fix features broken when Xbox, or Nintendo update something on their consoles. All using a stand alone app that just phones home and downloads the latest firmware payload for ALL its controllers without any login.
EDIT: You don't even need the app. 8bitdo's website has all their firmwares available to download and install as and when you need. The app is so dyslexic fools like me don't accidentally brick something with the wrong payload.
Microsoft however, may push some bullshit does nothing update simply to make you sign into their app.