Given Linux's history as OSS, it has historically been easier to be familiar with the inner workings of Linux than Windows simply by having access to the code. Other than reading System Internals, becoming MCSE certified, etc. it was really hard to know much about Windows. I'm not saying every Linux user has read the source but being built on top of OSS does allow the user to dig deeper if one wanted to. I say this as someone who started out his career in Windows and Microsoft and then later went to Linux (because I went from corporate to startup). It's much easier to pinpoint a problem with OSS and Linux, especially in situation when the documentation is lacking. It took me a lot less time to have a decent knowledge of Linux and OSS systems than it was for me to know the equivalent on Windows and Microsoft.
This effect gets compounded when you consider an entire ecosystem.
The vast majority of Linux users will never poke around the source to the Kernel ferreting out a bug, but they do have the option. On Windows it's much harder to get access without being a Microsoft employee.
I'm not a kernel hacker. But I have on occasion cracked open the source for some product on which I relied to find out why it was behaving contrary to my expections. Much more I have done that with a library upon which I was relying.
Many many times more often I have sought answers from authors or experts of a lib, etc. to clarify what I didn't understand from documentation.
All of this is easier and frendlier with open systems. MS is coloring itself more open recently, but they and the ecosystem built upon them and around them have a long way to catch up. From my perspective the gap is so large and so pervasive that I don't even bother kicking the tires any more. I don't know if MS will make it there in my productive lifetime. If they do, I think the ground will have to have shaken dramatically so many times that it will get my attention. So, I will continue to ignore them until then.