This shouldn't come as news to anyone: As iPhones age, their batteries wear out. It's just the unfortunate nature of rechargeable power cells.
Sadly, Apple makes it pretty difficult to swap in a new battery--not without some warranty-voiding surgery, anyway. But you can connect an external power supply, which is cheap, easy, and affordable.
In fact, it's more affordable today than I've ever seen: Meritline has an 1800mAh iPhone backup battery for $8.99 shipped. It's compatible with all iPhone models (the iPhone 4 isn't specifically mentioned, but it stands to reason the battery will work with it) and the iPod Touch.
How does 1800mAh compare with the battery already inside your iPhone? I'm not sure: Apple doesn't publish battery specs, though a few sites I've checked suggest an 1150mAh cell in the 3G and something close to 1219mAh in the 3GS.
That being the case, this plug-in pack should afford at least 50 percent more runtime all by itself. You can use it for emergency power if your battery's on empty or to recharge your iPhone on the go.
And, hey, nine bucks? I say grab a couple. (But beware Meritline's math: a two-pack is priced at $18.74, which is actually higher than if you purchased two single-battery packs.) Throw one in the glove compartment, another in your coat pocket, etc. That way you'll always have backup power when you need it.
Just keep in mind that because it ships from Hong Kong, it could take a couple of weeks to reach your mailbox.