I typically use a suite of apps to track down apps or processes that cause unacceptably high battery drain. Like some have mentioned in the thread, it's better to track down the source of your battery drain problem than to install 3rd party apps that mask the problem
The 2 most essential apps I use are:
1. Better Battery Stats (only the paid version is available on Google Play, though I think you can get the free apk from the XDA forums). This app provides a wealth of details about mis-behaving apps and phone processes that prevent your phone from going into deep sleep. If I don't do anything to my phone (i.e. overnight when I'm asleep, the % of time the phone in deep sleep is usually well over 90%). In particular, I look at the partial wakelock stat - this shows which app or process that "wakes" your phone and consume battery.
2. Watchdog lite - there's a "pro" version available, but I found the features in the free "lite" version are enough for me

This app offers real time monitoring of your phone, and gives an alarm if an app or process is hogging your CPU over a period of time. That way you can use the built in task killer to "kill" the offending app. To be forewarned is to be forearmed!
Recently I used these apps to track down the issues that were affecting my Note II's battery life. Firstly, I found that my battery drained about 20% overnight, whereas previously it drained only 1 or 2% overnight at most. Better Battery Stats partial wakelock logs showed BeWeather (a weather widget app) was keeping my phone awake the whole night. I had turned off auto-updating in the widget and set it to manual update, but somehow it still tried to connect to update the whole night. After a few similar instances, I uninstalled the widget
Now I have another problem which still remained unsolved - Through BBS, I found out that there's this process called mediascannerservice that's keeping the phone awake and running the CPU at 100% This is a major battery killer. It chewed through my battery like no tomorrow, and with the CPU running at close to 100%, it also causes the phone to heat up. I have identified it as "media" in android's default battery app, and have killed it manually after every restart. A brief search through Google showed that it's quite a common problem in ICS and Jelly Bean. The general consensus was that a corrupted file was causing the scanner service to run in a continuous loop. The solutions offered were not too palatable, most involving a full wipe of the phone and reinstalling everything. I haven't taken this step yet as re-installing everything was a major pain. So I have to make do with killing that process whenever Watchdog pops up a warning
