Design errors
This is correct. And the reason is that early protocols were sufficiently ambiguous that two implementations that followed the specifications to the letter would still end up as unable to connect. One of my clients were bitten by this. And when this was clear there was already a huge number of products on the market.
So the specifications were redrafted but because of all the existing products they had to retain backward compatibility - with semicompatible products. It is easy to say now that they should have declared a flag day but synchronising this with ALL members of the Bluetooth SIG is hard.