I'd endorse both Vnovak's and DA01's answers, and I'd add this:
The best long-term answer to workspace mayhem is to set up custom workspaces for the kinds of projects you tackle. Switching from one to another as you work will help keep things clean, and if things start to get messy just reset the workspace.
A useful rule I follow in setting up my custom workspaces is to put the panels I most frequently need to access and/or refer to (Swatches, Layers, Appearance) in one column that is always open, and the next most commonly used in a second column, full closed but easily accessible on a one-panel-at-a-time basis. The less frequently used panels are the ones I memorize keyboard shortcuts for, so I can pop them on screen, use them, then close them again.
The overriding consideration in deciding what should be always open, what can be in the "normally closed" column and what's keyboard-only is speed. Anything that's repeatedly slowing me down gets into the "always open" category.