It's a bunch of hacks all hacking around the other hacks.
Interoperability is tested, but not in an organized way and not repeatably - AFAIK 3 different teams are supposed to check that a new protocol works against each other. The different vendors verify their BT implementations but not against each other. That would be expensive, I guess.
The firmware in BT devices can also use a number of hacks which are not breaking the spirit of the specs as such .. and this is not being tested. On top of this often BT and WiFi has to work together (shared antenna) and this means that BT will not get all the time it needs but a percentage based on what Wi-Fi is doing at the time.
I try to use Ethernet every time I get the chance.
As someone not familiar at the low level, can somebody explain how this can still be happening today? Are there not libraries that help ensure proper implementation? I really don't understand.
Thirdly, hardware companies are generally not great at software. A lot of effort goes into physical testing and validation but the base level of quality of the code isn't great. Also the quality of a given bluetooth device often depends on the quality of the custom code for it: there's a generaly trend of running application code on the same CPU as the bluetooth code, and in an embedded context there isn't generally great seperation between the two (nordic's approach is probably the best here). A third-party making a cheap pair of bluetooth headphones is not likely to make a quality result, even if using a library which is relatively bug-free.
Finally, there's a vicous sprial effect: because you need to interact with a wide variety of other implementations, which may all be buggy or quirky in their own ways, you wind up needing to test with a wide array of other devices (expensive and may not always happen) and play whack-a-mole with the remaining issues which appear, which in turn creates more quirks and more opportunity for bugs.
This is why manufacturers build their own 2.4GHz proprietary dongles using proprietary protocols - it ensures consistency for the users.