Familiarity. I've been using Windows since Windows 3.0, so I'm very familiar with the interface and the way the systems works behind the scenes. Over the same time I have used Unix, FreeBSD, and quite a lot of Linux distributions. Because there was such a variety in the *nix side of things, all of which worked differently from other similar operating systems, I actually find that I am quicker getting stuff done in Windows. Windows 8 nearly ruined this with its stupid modern UI, but I have been able to ignore most of that and stick with the old desktop.
It's what I use at work, so programs that I use (and write) at work can also be used on my home systems. Also, when buying software (especially games), Windows is the better supported platform. For open source stuff, the situation is reversed, but I most of the software I use also has Windows versions too. I am gradually moving my standard selection of programs to cross-platform versions so I can one day migrate from Windows. The only reason why I would do this is because I don't trust the direction that Microsoft is taking these days.
PowerShell. This is one of the things that keeps me on Windows; I just love PowerShell. Sure, they released an open-source, cross-platform version, but to get the best out of the shell you really need to run it on Windows.
Despite what you say, security is definitely good enough. Since the release of Service Pack 2 for XP, every version of Windows has gained more security features. I haven't had any malware problems since I upgraded to XP (which happened after SP2 was released). It helps that I have always used limited user accounts (like this article says). Of course, I don't go running random programs that get emailed to me, but then I also wouldn't do that on Linux either because I don't just assume that it is that much more secure than Windows.