Linux works very well. But there are some problems
-- Usually some severe issues upon install. In one case it was the sound. After upgrading again, it was the wifi. In both of these cases I had to go on long google searches to find the solution, which usually involved accessing root level files and editing code manually. To be fair, I did solve the issues, but a normal person would not put up with this. There is no "official solution page" or anything you are often relying on obscure forum posts on random blogs.
-- Has a lot of trouble running games. Sure you can use wine, but you need to use wineprefixes, install drivers and shit. It's not straightforward. That said, you can run most games on linux, it's just not easy.
But the benefits
-- Easy torrenting, free versions of everything including Photoshop, video editors. Can usually get any game or program you want for free.
-- The repository system for installing software is extremely convenient.
-- Command line gives you vast power over your system, and once you learn a bit, it's impossible to go back. Particularly for programming applications.
-- No viruses, no botnet.
-- The ability to download custom distros.