This story really hits the nail on the head. Linux really is fun.
We use Linux because it's fun!
It's fun to tinker with your system. It's fun to change all the settings, break the system, then have to go to recovery mode to repair it. It's fun to have over a hundred distros to choose from. It's fun to use the command line.
Let me say that again. It's fun to use the command line.
It is a whole lot more fun to mess with the internals of an OS, and there aren't too many opportunities among commercial operating systems. Linux, the BSDs, and many other free OSes have the ability to be tinkered with in common, which is the main reason why I enjoy using them, especially if I can get them to work well enough.
The free-ness is also a big part of it. The lack of a price draws me in, and the freedom to do as I please keeps me there. On one of my older desktops, I had five different distros and FreeBSD installed just to experiment.