I typically just run stable because my wife gets annoyed when an update messes something up.
But many people are perfectly happy running testing.
You could make the first couple lines "main contrib non-free" to include some of the other official packages. I believe contrib means the package relies on something non-free (as in freedom) and non-free means that they're closed source (like nvidia drivers).
Also you could add debian multimedia or any other number of things. Here's a link to the sources.list
megathread. The first one was updated after Etch was released, but some of the other posts will be dated. Again, you don't need all these sources, it sort of depends on what package you want and if it's not in the official repos. And I would stay away from mixing sources, i.e. having stable (etch), testing (lenny), unstable (sid), and/or experimental all in the same sources.list. That's just asking for trouble. Only really experienced users should mess with mixed repositories, and I'm not one of them. :P