Explorer.exe is a pretty crap operating system shell. One of the few concessions to helping users deal with the clutter of open applications (which didn't appear until XP) is taskbar button stacking, which basically lets you play Patience with windows... provided, of course, they belong to the same application. Lining up two windows out of several so that they don't overlap is a tricky manual process. And so it goes on...
This is my current pick of 'helper' applications, and what I use them for. Most have more functions than listed here.
The Wonderful Icon - http://www.thewonderfulicon.com/
- Minimisation to tray. Useful for keeping applications such as Thunderbird tucked away inobtrusively.
- Right-click maximise icon to vertically maximise. Handy for browsers, chat applications, and everything else.
- Assign a hotkey to make windows always-on-top. Not as swanky as DeskPins, which shows an icon in the title bar of windows that have been made always-on-top... but why run an extra app, and one you can't turn the tray icon of off?
- Assign hotkeys to frequent tasks, such as hibernate (via Wizmo), browser (Firefox), mail client (Thunderbird), MP3 player (1by1), dictionary (WordWeb minus its tray icon), volume control, etc. After a restart I usually like to tap some keys and have my key applications back quickly, for example, but wouldn't want those apps run automatically every boot... so they're attached to Win+F12, Win+F11, etc. Particularly useful to me is a key set up to 'home' the volume to 1% rather than simply mute it.
AllSnap - http://ivanheckman.com/allsnap/
- Lining windows up with each other or to screen edges by making them pseudo-magnetic. Most people will know this behaviour from Winamp, and with this you can have it for any application window. The app can also constrain windows to the desktop area. All-in-all, it makes non-maximised windows bearable for anyone who hates their lack of precision.
VirtuaWin - http://virtuawin.sourceforge.net/
- I assign two keys to cycle through desktops, and hide the tray icon. I don't use virtual desktops that often, preferring to close apps I'm not using, but sometimes you want to dive into a different project for a while and keep an existing one active that has lots of apps open to support it. Windows can be bounced between desktops by minimising them to the tray area, or options given by middle-clicking window title bars.
Launchy - http://www.launchy.net/
- Alt+Space then type the name of an app in your Start Menu to run it. Since the Start Menu suffers from frequent slowdown when its contents have fallen out of cached memory, which seems to be a perennial Windows bug, this is often quicker to use.
Update: frankly, Executor is a whole more responsive in use - http://www.executor.dk/
KatMouse - http://ehiti.de/katmouse/
- Makes the scrollwheel work when the pointer is over a window, whether the window has focus or not, and more reliably gets applications to scroll a screen at a time than making the setting in Windows.