The first time I tried linux, about 10 years ago, I got so frustrated - I was coming from a WinXP background - I actually got suspended from an online forum for 4 days for generally nasty behavior (in retrospect, I think the suspension was too gracious by half). I think the big problems were (a) not sufficiently appreciating the differences between the two, such as the file structure, and (b) having no real experience with a real command-line interface because Windows' CMD interface barely qualifies as a real interface, let alone an interface from which real work can be done.
Last year I set up another installation of a recently released version, and was reasonably comfortable with it. I have it running on a homebrew server that I can only access remotely, so I haven't made a lot of use of it, particularly of late since I'm working so much, but I did enjoy it and would be tempted to make it my primary OS if I were using a desktop, particularly one that was a few years old.
I would contribute my more successful second experience to two things:
(a) I am much more proficient with a command-line interface; I've been working extensively with Windows powershell for about 8 years now, and can now do quite a bit from that interface (btw, powershell is much, much more than just an interface; it has access to most of the .NET assemblies in the OS and can effectively be used as a programming language. I have written several programs I used fairly frequently, including one that displays a file in 16-column two-digit hexadecimal format with header numbers and column numbers, one that extracts EXIF data from jpg image files, and one that can parse pdf files up to about version 1.5, extract the text, and display it in a plain text format that is more or less representative of the text as it is displayed in the pdf itself); and
(b) the vast development of the GUIs that now sit on top of linux. In the fullness of time I expect to be able to do just about everything from command-line, however, the GUI is a great way to familiarize yourself with the layout in a very high level view, and in a way that is recognizable to a Windows user, which facilitates the transition process immensely.
Hopefully, when I finally get some more personal time, I'll be able to really learn, and enjoy, linux. I don't think I'll ever get to the level of rolling my own flavor of linux, but I do hope to be able to do everything I do on Windows now, as well as some more extensive programming.