Bluetooth is bad enough that wireless mice/keyboards usually have a USB dongle receiving what I guess is a proprietary RF protocol. Some wireless headphones have that too. And wifi requires too much power.
Bluetooth isn't too bad, Logitech Bolt is based on BLE and it's just fine. Bigger problem is integration into x86/x86_64 platform.
I don't know why USB dongles are popular for manufacturers (I assume to make their product more plug-and-play friendly), but I don't think they are a better solution than bluetooth. For example, it is common that if another USB device is plugged close to a USB dongle, it can cause interference to it, which results to unstable connection and eg makes a mouse "jump", keystrokes not register etc. Finding the right place for a USB dongle can be a pain. USB dongles with proprietary RF protocols are usually a terrible solution imo. I have never had any similar kind of connectivity issues with a bluetooth mouse or keyboard.