This week, I got a real WTF when dealing with Microsoft products and the amazing amount of redundancy that is possible in the company.
We have a robot product that we can communicate to using Bluetooth SPP and we are creating an application that can control it remotely. We originally went with a serial interface (after pairing, recording the "com#" of the device and then passing it to our application), this is somewhat cumbersome so we wanted to pair from our app and connect directly (saving the user from doing those operations manually).
Logically, this would be one set of APIs, but it seems there are five depending on the OS - the only ones that are common are for Vista/Win7. I would think that right here there are four teams that are redundant - pick a single, consistent API, add it in Service Packs for all supported OSes and assign one team to the job.
I would expect there are many more examples out there of similar inefficiencies that somebody within Microsoft should be able to answer with the ability to make things easier for developers and make developers available for squishing bugs.
Sorry about the rant, but standard IO interface APIs should be just that, standard.