Please don't be confused with the word better in this post title. It does not mean more beautiful or more powerful, it means simpler or straighter to do whatever I need.
Desktop Environment: Gnome to Enlightenment to Fluxbox
Gnome or KDE is bloated for me for sure. Any DE(Desktop Environment) uses over 100 MB memory is defined as bloated by me.
I tried Enlightenment on Fedora 10, I liked that. It has plenty options to customize your desktop. For just window management, you can do many fine setting for focus, resizing, moving, transparency, etc. Enlightenment is a good DE and WM(Window manager), but I found FluxBox is more suitable for me.
FluxBox is more simpler than Enlightment, and more lighter. Both of them do not involve much more than WM. They are not like Xfce, Xfce is between them and Gnome or KDE. FluxBox only has the WM, a taskbar, and fbrun (a program like gmrun, a program launcher), I think that's all from Fluxbox. You need to design your only program menu, hotkeys, taskbar layout, startup programs, etc. However, that's not a tough task, and it's definitely worth spending some time for them.
My current desktop has a taskbar at bottom and Conky on right side.
The taskbar only has window list and tray. Conky shows some system information. I have set a hotkey to maximize program but not to cover the Conky, so I can always read those information. Conky doesn't use too much resources, 4MB memory, 1% CPU utilization. It provides me lots of information, date and time, weather, CPU, memory, disk, net, Portage db time, volume, MPD.
I don't use fbrun because it's auto-completion is quite laggy, I use gmrun, instead. For the main menu (which is brought up by right-click on desktop), I put few programs on top-level. In which the Apps sub-menu is generated by MenuMaker. It can search programs in your hard-disk and make a categorized menu.
Terminal: GNOME Terminal to urxvt
Any terminal is based on VTE is not so good at maximizing/resizing window and usually use more memory. When you do that, it needs at least one second to do so. I don't know why and I couldn't stand with that. urxvt is good terminal. It can use Xft and doesn't have problems with compose key and input method.
This path is not a straight forward one. Before Midnight Commander, I had tried Thunar, PcManFM, emelFM2, gentoonot the distribution, I got confused, first. emelFM2 is good for me, but I wanted a CLI one, and Midnight Commander does a great job. It also support mouse, you can easily click here and there (but no drag-n-dropping). Here is a side-node, if your terminal is not xterm, then you will need to run Midnight Command with -x parameter. I hoped I can configure that with its configuration file but nowhere indicates that is possible.
Anyway, it is easy to use after you are familiar with the key bindings and extension/menu configuration files. You can set up default Open or View action for different types of files, but only one for each. But with F2 menu, you can choose from that menu for more different commands, and, of course, it can be customized. I can bring up different viewers or media players from my F2 menu.
Midnight Commander has a shell inside, you can always run an arbitrary command whenever you need to. You can also bring the current highlighted file's name into the shell by press Alt+Enter. And, auto-completion is supported, too, but you will need to press Esc+Tab, not Alt-Tab if you are in X.
Amarok is still my favorite player, and iTunes as well. Again, I want CLI. MPD is a server, so you need a client to communicate with the server, which is ncmpcpp I use. It's written in C++. The interesting thing is you can edit you playlist, hit the play button and quit ncmpcpp. You don't need the client to stay in memory because it has passed your command to MPD.
I also have an account of Last.fm, so I want everything to be scribbled, mpdscribble can do the job.
I don't use IRC or IM much, but sometimes they are useful. The only drawback I can think of are you cannot see the avatars of your contacts and the graphical emotion icons.
gthumb-import is a good importer but it is bound with gthumb, and I don't use that. gphoto2 is a pure CLI command and it's easy to use. I only need to run gphoto2 -P, then all the photos on camera will be transfer to currect directory.
There are two programs which I can't find replacements. Firefox and GIMP. For Firefox, it is because of an addon, Vimperator. That addon emulates a Vim environment within Firefox, it is an addiction if you are a Vim user, then once you know the plugin, you will use it and never leave it. As for GIMP, I am used to it.
I can't find a good image viewer, which has to be small and quick. That doesn't seem to exist. I only need one to read raw images, jpeg, and PNG.
I think I am just starting walking on this road, there will be many possiblitiies and lots of choices waiting for me to discover.