So yeh why do people use linux? what are the main reasons for it?
This would make a good thread all of it's own, but my reasons are numerous... (apologies in advance for the length of this post)
Firstly, I'm a big fan of open source software. I believe that having source code available for everyone to examine is a good thing. It means that vulnerabilities can be spotted (both by the baddies but also by the good guys), it means that users aren't solely dependent upon a vendor for supporting a tool, it means that users can provide better versions of a tool by adding functionality to it, etc... Admittedly, this isn't specific to Linux as there are plenty of open source tools for Windows too. However, having the OS itself open source - with all the benefits listed above - is what really sets Linux apart from Windows in my eyes.
Secondly, I believe that the Unix/Linux approach to designing an OS is superior to Microsoft's approach. For example, *nix is a truly mutli-user OS and was conceived to be that way from the start, whereas Windows wasn't designed as a multi-user OS and it still shows in places today (I can't have different screen resolutions for different users in Windows... or at least without installing additional tools to do this. This is just the first example that springs to mind, but there are others

).
On a similar note to the above, I believe that Linux (and other Unix variants) are more secure by design. I find it completely normal to run Linux as a non-root user whereas I find Windows very restrictive if not running it as Administrator. Vista has, I believe, improved over previous versions of Windows by implementing the concept of su, but from speaking to many users it appears as though it's not very well implemented, is an annoyance and is often disabled by many people.
Also, I seriously dislike the idea of having the registry within Windows... it's a bad idea, imo. It's too much of a single point of failure. Linux uses config files that, if necessary, can be edited by hand should you seriously **** up your box to the extent where you can't boot it. I know of many, many people that have used a Linux Live CD to retrieve data from a borked Windows machine, but I'm not aware of anyone using a Windows machine to retrieve stuff from a dead Linux machine.
Along the same lines, I like the file structure in Linux better than in Windows... the idea of having /home makes much more sense to me than having My Documents. In Linux I can put /home on a different partition, and if I wanted to I could re-install a completely different distro yet still use my /home. I don't think that the File & Application Settings Transfer in Windows offers the same level of control or flexibility as having /home separate from the OS.
Similarly (although it initially took me a while to get my head around the concept) the idea of everything being a file seems much smarter to me - especially when you're thinking about hard drives. I find it funny now that when I was only using Windows I would think of a hard drive as a letter... "Oh, that's my D:\ drive which is different from Windows which is on my C:\ drive". Drives are more than just letters - I now understand that
I also find that Linux is pushing the boundaries more than Windows. I wasn't impressed by the Aero interface stuff that Vista offers because I'd seen bigger and better things in Linux, using older hardware, running faster and with better effects... and this was before Vista was released.
Performance-wise I find my machine runs faster under Linux than it does using Windows. I'm not sure whether that's because, for example, Linux doesn't require any defragging of my hard drives as it's done automatically so files are quickly accessible every time all the time... or if it's because there's less bloat in my Linux install compared to my Windows installation. I find that with Linux I'm given a base install and asked what functionality/software I want to add whereas with Windows it's the opposite and everything is installed by default and it's up to me to then disable/uninstall the stuff I don't want or need. Maybe for users that don't know what they need their PC to offer then the Microsoft stance is a good idea, but I know what I want my PC to be like and I pick and choose what to add (not what to remove) accordingly.
This last point is worth expanding on... I like having the freedom that Linux gives me which I feel I don't get with Windows. Microsoft have tailored their OS so that everything is the same irrespective of which machine you're using. I guess that was necessary to get acceptance amongst so many users in such a short time, as users like the familiarity of knowing how to use a machine whether it be at work or at home. However, I personally like being in control of what my machine does and being responsible for making decisions myself not having some company such as Microsoft that doesn't know what I do or don't like making decisions for me.
Oh, and it's free (as in beer) so I can try out loads of different things and the only thing it'll cost me is my time... and as I need to know this stuff for my work, it's an added benefit.
Crikey, I think I sound like a bit of a hippy or something.