Well, I can't say that I get no financial compensation at all. All of my income comes from Unix and Linux, and nowadays most of it is from Linux.
But.. I also spend many hours answering questions at places like this and writing articles for my website ( http://aplawrence.com
). Now you could certainly argue that the "free" stuff I do all contributes to my income, and you'd be right, but I'd be doing it even if it didn't make me a dime, and it's also true that I could probably do none of that at all and still make just as much money.
So why do it? Because I've suffered through trying to understand stuff myself. When I started "doing" computers, there were darn few books, the Internet did not yet exist, and boy, learning was tough. Over the years, I learned a lot from other people, and I feel an obligation to "pay it forward" when and where I can. If I hit the lottery big-time, you'd still find me doing the same things I do now - just more of it.
And why Linux? Well, I don't Like Windows
But really, I'll help someone with that too if I know the answers they need. It's just that I know much more about Unix and Linux, so I have more knowledge to offer.
Besides, what can you really LEARN about Windows? You learn "magic" - add this registry entry to get what you want. That's not learning. Unix and Linux stuff is documented, and of course a lot is open source, so you reall can learn.