The difference is that Windows code is closed. Microsoft has given access to that code to allegedly hostile individuals, but not to friendly individuals.
Bad guys can reverse engineer and read code. Good guys can only reverse engineer.
With *nix it's a level playing field, because both sides can reverse engineer and read code, and contribute code.
I wanted to give you a non-anonymous +1 on this. Your point about the level playing field is a great one.
My preference is obviously to just avoid the black boxes where I can, but it's not particularly surprising to think that the true color of the box is the inverse of the color of the hat.
Good comment about the level playing field.
Open source doesn't essentially make the code more secure. But if Random Joe Hacker discovers an exploit, there is a big chance he'll brag about it, report it, or at least it eventually makes its way to the developers.
On the other hand, if the source code is restricted to governments and security agencies, discovered exploitable bugs will be made part of some country' arsenal of "cyber weapons".
They will neither get fixed nor reported. That's very scary.
Open source doesn't fully solve this problem (agencies can still discover 'secret' bugs), but at least Joe Hacker has the same chance of finding them. This increases the chance they will actually be fixed significantly...