I've had my HTC Desire (latest legit firmware) for 18 months or so, and I believe this problem has existed for a while but it getting worse. It might just be time for a new battery but in case there's something I can do to fix it I'll explain.
I charge the phone overnight, everynight. If I use it for surfing/texting on the way to work (25-50 mins) plus leave it checking for emails every 15 mins or so, plus with data enabled, then there's a good chance it'll have less than half the charge left by lunchtime. If I don't charge it in the afternoon then there's a good chance the commute home will make the phone power down due to lack of power.
Looking at the battery graph it seems that the phone gets to about 15% power then runs out, often without warning or just the one warning. And when I charge it, the charge on the graph climbs from zero up to about 85% then jumps to 100%. It's as if there's 10/15% which isn't available for me to use or charge any more.
I've read - and tried, unsuccessfully - some "trick" when you charge the phone, turn it off and charge it, then turn it on and charge it. It made no difference at all.
My phone's not rooted and I'm not desperate to do so.