Going to try to make this as relavant as possible.
I started with Linux in 1996, when I first heard about it. My dad bought me a book (I was 15 at the time and had no income), and it came with Slackware 2.something. I installed it fairly painlessly, but I couldn't get X working on my 512k ATI VGA Wonder (what a card!). I fiddled with the command line, trying to get X to work, for about a year. This was having Linux on a separate box, and using my main machine, running Windows 3.1 and then Windows 95, for everything. In 1997 I gave it up for about 6 months. Late 1997, I found Red Hat and gave it a whirl. I believe it was version 5.0. I installed it and got X working, but I couldn't get dialup functioning properly. It was then utterly useless to me, and I dropped it again. I tried again with 5.1 and 5.2, but neither worked.
May 1999 - RedHat 6.0. Gnome. Enlightenment. With a hell of a hacked-up script, I managed to get dialup working. And all of a sudden, there I was, using Linux full time. You can see my rather pathetic desktop (in May 1999 - disregard the name of the image)
here.
That was all well and good, but eventually, I went crawling back to Windows. I don't even remember why. That was in September of '99. I began using Litestep on the Windows desktop and was happy with Windows again - it didn't suck. You can see that desktop
here. Since Litestep wasn't crashing all the time, all was good.
Then, Februrary, I decided to download RedHat 6.1 and give it a try with my cable modem. That screenshot above for Litestep is the last day I booted into that Windows partition. Ever. A RedHat 5.0->5.1->5.2->6.0->6.1 upgrade had worked. I had my cable modem working flawlessly under Linux. Here's what it looked like, 4 days into the experiment:
screenshot. It wasn't much, but it worked.
By late Februrary, I had switched back to running WindowMaker, but this time under Gnome. I did this because I wanted to play Unreal Tournament under Linux, and had read that it did not work under Enlightenment. I put some time into making my desktop. In retrospect, it looked like ass, but it was functional.
Check it out.
In late June 2000, I switched to Sawmill (now Sawfish) under Gnome. This is what I run today. Sawfish looks better, feels better, is smaller and faster, and is, in a word, great.
Some time in there, I deleted my Windows partition (after backing up my user-generated files). That became my new home partition (/dave). It's largely the same setup it's been since that time. I haven't made an upgrade to RedHat 6.2. I tried, but it broke my system. I spent about 4 hours repairing everything that it broke (hell on earth), then decided that, from now on, I'd do all upgrades myself. Nearly everything on my system is custom compiled. I use it for my desktop 100%. Although I recently bought an iBook and just yesterday got my Dual 800MHz G4 PowerMac, they aren't desktop replacements - they are supplements to my computing addiction

They're also so I can play with MacOS X (which is absolutely stunning). But my desktop operating system is, and will likely remain, Linux.
You can see what it looks like by clicking
here.
Now, that scratches the surface of what I'm trying to do here, which is describe Linux on the desktop and what I think it should be/how I feel it can most easily done.
The environment: I choose Sawfish under Gnome. I like Gnome's panels, I like Gnome's stability, and I like Sawfish's flexibility. I have an incredibly responsive system. Now, my computer is no slouch (750MHz Thunderbird, 768MB PC100 CL2 ram, 32MB DDR GeForce2 GTS), but it runs like a brand new machine. It's super fast and super stable (the only time I reboot it is for hardware upgrades - 120 day uptime is typical). I personally find the Gnome/Sawfish combination to be an exceptional one, and I think that any respectable Linux users owes it to themself to give it a try.
Communications: For me, this is the second most important thing. First, I need a stable environment. But I need to talk to the outside world as well. I find Linux to be
the best in this are. X-Chat (
http://www.xchat.org) is the best IRC client I've ever used (but BitchX is good to, and I use that over ssh/telnet sessions, etc). Gaim (
http://www.marko.net/gaim) is the AIM client I've been using for years. It's absolutely exceptional. Frequent bug fixes, stable, great interface and layout... I love it. I strongly prefer it to the AOL AIM clients.
Strongly prefer it. As far as ICQ goes, I personally use Licq (
http://www.licq.org) and that's probably the way to go. It's stable. The only thing I don't like about it is that the most developed gui-plugin for it is written in Qt, and Qt has been a pain in the ass on my system. It also doesn't fit in with the rest of my apps. But that's okay. It works, and that's what's important.
Email: I know this fits in with communications, but it's a bigger deal. Email is, as we all know, the most important internet application. Under Linux, I started using Netscape Communicator for email. I used this for about six months, but in August of 2000, I switched to Mutt (
http://www.mutt.org). Mutt is a command-line interface mail user agent (MUA). Basically, it just handles the display of email and the transport of your email message to sendmail on your local machine. Sendmail then sends it, and it's all taken care of.
The reasons I like Mutt are numerous. I stayed away from it at first (I've known about Mutt for years) because it was command line and I wanted a nice gui email client. I tried probably 10 gui email clients and none of them were what I was looking for. They just didn't do enough. Evolution was promising, but it was far off (realize that this was a year ago - Evolution has come a LONG way since then). I finally took the plunge to Mutt and I haven't looked back since.
I like Mutt because it's fast to use. I can get around it very easily with the keyboard. My hands are already on the keyboard, and it keeps me from reaching for the mouse every 2 seconds. It also allows you to use whatever text editor you wish to send your email. I use vim (
http://www.vim.org), but you can use pico or emacs or joe or whatever you like. It's also fully customizable - colors, bindings, display options, etc. You can configure it all. You configure the mail headers, everything. It's not much, but it's the most useful mail client I've ever used. You need to write a .muttrc for it - you can view mine (for the most part - I've left some things out)
here.
Browser: I use Mozilla. I used Netscape for the longest time before that, but I use Mozilla now, and have for probably the last five months. It runs fast for me. It looks good, it's stable, it handles most web pages with no problem. It has Flash and Java plugins that work fine. All in all, it's the best browser for me. I use it for just browsing - nothing else.
See what it looks like. I've heard that Konq is good, but I have no interest in using it. Mozilla will do just nicely.
Monitors: I'm not sure I could live with GKrellM (
http://www.gkrellm.net). They're pictured in the lower right hand corner of my
current desktop screenshot. It's a bunch of system monitors running under 1 process. You can add and subtract to/from it as you like, as well as add plugins, etc. It's pretty great.
Games: I like playing games. I'm an avid Quake III Arena player. I like Unreal Tournament okay too (only when I'm playing friends - I can't compete at that game, I find it too hokey and slow moving). I recently started playing the Wolfenstein Multiplayer Test. All work flawlessly under Linux. Soldier Of Fortune is fun too. Granted, I can't play Counter Strike, Diablo, or any of the other thousands of games that are available as Windows-only. But I make do with what I've got.
Office: I don't use office software at home. I don't use Linux because I need to write a term paper. But if I did, I would probably use OpenOffice or StarOffice. StarOffice is godawfully slow, but it works (or did 2 years ago when I used it). When I need to make a spreadsheet for whatever reason, I use Gnumeric. It tends to work nicely.
Everything Else: It's hard to list all the programs I use. I have a lot of scripts I've written to make my life easier. There are tons of apps on my system that I use on a daily basis. Too many to list. I just hit the big ones. There are image viewers, text editors, etc. As far as text editing goes, I just use vim. But there's gnotepad, gedit, etc.
Look for apps at Freshmeat (
http://www.freshmeat.net). It's always been the best site to look for apps.
Miscellaneous: I use multiple desktops. As you can seen in my screenshots, I generally have four set up. I use the first one for my main stuff (irc, aim, icq, email, etc), the second for a browser, the third for xterms and the fourth for whatever I need it for - gimp, watching some videos, etc. I highly recommend using multiple desktops. I'm not sure how I ever got along without them before Litestep and then Linux.
Conclusion: You can do Linux on the desktop. You can even do it cold turkey. But it takes some work. My recommendation is to use Debian. It's what I use on all new builds I do on my boxes (I'll probably shy away from rebuilding my main box for a long time, it's too customized and it would be too time-consuming to redo). Debian will make your life easier because it's so easy to administer. I promise you, the "setup hassles" that people describe are well worth it. You may want to lookat Progeny Debian if you are concerned about installation/setup - word on the street is that Progeny has a great installation with all the benefits of Debian. I'm not knocking Mandrake or RedHat or anything, but Debian truly is the most elegant distribution.
Other than that, good luck. I wish you well on your endeavor, and I'm perfectly willing to present you any help you need while trying to keep Linux as your desktop. It's been my desktop for over a year and a half exclusively, and as I said before, it likely will be for the forseeable future. It can be done. Good luck.