You'll need to decide on a case by case basis. Generally, apps which run in the background need to do so to function, so if you don't want that, then uninstall it. If it's optional, they'll usually include a preference to disable it within the app.
You can kill any background service from Settings -> Applications -> Services, but that only kills them once, it doesn't prevent them from starting the next time you boot up your phone. It is a useful way to see what's running in the background, though.
Finally, a lot of apps that seem to run in the background actually don't. I have an app that provides background notifications about certain events when they happen, but it does it by scheduling recurring system alarms, where the phone will start my app up to perform the task and then the app will close. So it's open for brief periods of time only, which is much less of a battery drain. Make sure you check the background service list I mentioned above to see whether something is really on in the background.