After all these years and consecutive versions, Bluetooth in my experience is still a hugely unreliable experience.
I constantly have to forget devices, turn them off and on again etc. I have regular drop outs and I’m forever trying to re-pair.
This is across connection types (keyboard, music etc), brands and devices.
Why is Bluetooth in general so flakey?
... Which is made clearer by the fact that the Bluetooth specification is:
+ Enormous. Even just the core spec, that doesn't include much of what the consumer is interested in, is around 3000 pages long. That's not a typo. 3000 pages to tell you how to make two devices do a handshake. Add in the things that make our devices actually work... And you're asking the software to match what has been written and defined across closer to 5000 pages. Nothing is going to perfectly match between implementations.
+ Badly defined. The original working group that made Bluetooth left behind so much because they couldn't agree on it that it has more "Undefined Behaviour" footguns than C ever did.
One example of some spec text that I've seen argued differently between implementations:
> There is no requirement for the application to insert additional framing information into the data, although it may do so if this is required
That's before we get to the actual real world problems that Bluetooth has to face and overcome, like being in the 2.4Ghz range and being a frequency hopper.