ReChild's app is called Advanced Task Killer and there is very little reason for you to use it. In most cases, using a task killer will hurt the performance of your device.
Android is not like Microsoft Windows. It is designed to keep the devices memory filled and to manage that memory on demand, killing apps only when more memory is demanded. If you kill an app, Android will start another one to run in the background and take up that extra memory. So killing an app which forces Android to start another one and write that to memory is going to use more system resources and drain the battery faster than letting Android go about its business. It is unnerving to look at what running and see some stupid bloatware app that you never use but don't despair, it is not hurting your performance.
That being said there are exceptions to the rule. Android in general is designed to manage the memory so you don't have to but, Froyo is much more effective at this that than earlier versions. I found that even though it wasn't theoretically needed, the task killer was effective in Android 2.1. Also, poorly coded apps may go rouge and begin to unnecessarily hog resources. It's appropriate to kill these apps, but you should be uninstalling once you identify a bad app. As far as a list, I don't know of any. It would change very frequently as apps are updated and bugs are fixed.
There are a couple programs that ARE going to be more effective in helping you manage you apps and resources...
Watchdog Task Manager: This app watches your apps and will notify you if one starts to behave badly and hog too many resources. This is a good way to identify problems so you can efficiently address them.
AutoKiller Memory Optimizer (root only) or Auto Memory Manager: Android watches how you use your device and tries to intelligently prioritize which apps get killed when more memory is needed. If you want a little more control of this decision making process, these apps let you set the out-of-memory priorities that Android will follow when deciding which apps get to stay running and which apps get killed.
So, to sum it up and answer your question...
Any idea why this happens?
Because Android was designed to do this, so go with the flow.