I prefer Windows. I work in a cross platform shop, my code needs to run on Mac and Windows but unless I'm trying to track down a Mac specific bug I'll do the initial coding on Windows. For what I am trying to do (cross platform C++ development) Windows has better tools. Visual Studio has a better C++ compiler than Xcode. Visual Studio has a much better debugger than Xcode. Beyond Compare is Windows only and I haven't found anything that matches it on Mac (please let me know if there is something that's as good on Mac). Source Insight is only available on Windows - I know that SlickEdit is available for the Mac but I much prefer Source Insight.
All my personal opinion that applies to my particular circumstances only.
Arguably this might be true, however if you add another requirement to the list Joe posted it isn't. Cross platform code is important to many people. I work on large scale, performance intensive, cross platform applications. Microsoft tells me I should be doing everything in C#. Apple tells me I should be doing everything in Objective C. I just get on with it and use something that works. A language that gives me the ability to combine high level design with low level efficiency and run on multiple platforms.
I often use a paraphrase of the Winston Churchill quote as well. There are probably many better languages for many other applications, however for high performance, cross platform large scale apps C++ is still the only game in town.
Joe's point that all the complexities have reasons behind them is a really good one. I'd suggest reading Stroustrup's "The Design and Evolution of C++" for more information.
All my personal opinion that applies to my particular circumstances only.