I use Juice Defender Ultimate. I have it custom configured to enable data for specific apps. The only major nusance I have with it is the 20-30 seconds it takes the phone to make connections to the network(s). It's not a big deal to me considering that now, I could easily get 2 days of use from a phone that used to die in 6-8 hours. And you can avoid just a nusance if you just "tap to enable data" as soon as you unlock it. Of course, I think there is a much easier setting that would do that automatically. As I said, I wouldn't know because I went straight for the agressive approach.
I can't speak for how well the free version of juice defender would work, I went straight to ultimate, and I can guarantee you it'll be installed on every Android phone I own going forward. And because the phone doesn't overheat from network seeking like it used to, I am confident that everytime I reach in my pocket, I'll find it running. That means a lot considering I was primarily concerned that it wouldn't function as a phone in a critical moment, either from a dead batter or when I have to wait 2-3 minutes to restart it.
I am often in buildings which block cell phone reception. In that case, my Samsung constantly tells me I may incur roaming charges, etc. which probably uses up battery charge.
That was a huge part of my problem. The administration portions of the buulding I work in actually have sprint repeaters because our sales force uses sprint air cards in thier laptops. But the warehouse portion has almost no coverage. I move in and out of those areas alll day so I experince the same problem. IMHO, the phone is basically always searching for a data network, and that kills the battery faster than anything. In my case, the fact that I keep it in my front pants pocket means that more than likely my body is blocking hald the signal and making the phone have to try harder. The body heat added to the heat the phone creates from constantly data searching causes the phone to shut down to prevent damage due to over heating. Using Airplane mode is one way to combat this, but that shuts off the phone and texting capabilities, effectivily turning it into a paperweight/MP3 player. So to me, Juice Defender was the best possible solution. Assuming that you don't need to get your e-mails ASAP. Everything is a trade off, but since this allows me to still receive phone calls and text messages I consider it the lesser of all evils.
I did have one of those extended batteries in the past. It didn't do much for me either. I'm using the stock battery again, and I get great life out of it now.
Battery life on any Sprint Andriod phone appears to be determined by a number of factors, How often do you check the messages, access the internet, Send Text messages etc. I have two Epics, the one my Wife uses since the Gingerbread update, I've seen her Battery last 24 hours and still have a substantial (over 50%) battery left, mine on the ther hand has the extended battery that is twice the size of the standard battery which I get about 8 hours on a single charge with average use. When I go above average (like recieving 150 work e-mails in a day and constantly reading and replying to e-mail I get maybe 5 hours).
The difference is the amount and type of use. My wife for the most part sits in a good sprint coverage zone and will get maybe a dozen texts and about 2 dozen phone calls on her Cell a day, she will check e-mail every so often and maybe reply to 1 or 2 e-mails a day from her phone. She also doesn't run any special apps, have any live wallpaper active and uses the phone 97% of the time as a phone.