I've mentioned SysInternals here before, but I've just become addicted to another of their tools, Process Explorer. It's like the Task Manager on steroids. Have you ever looked at your process list and found some mysterious process running, but didn't know why it was there? Process Explorer shows you all the information from Task Manager, plus the parent process relationships, the path, description, and command line (!) of the executable.
For each process, you can get performance information or chart, the list of threads, a list of environment variables, the security permissions, and a list of all the DLLs loaded by the process. For each thread, you can see CPU usage, and you can examine the running stack. It just goes on and on.
In a nice touch, you can set it to replace your Task Manager, and its system tray icon shows the same CPU monitor, but it turns yellow or red as the CPU load gets too high. Highly highly recommended.