Just my 2 cents on this topic.
I have an iphone 3G for about 2 months now.
At first I was sick about the short battery life. I had to charge it every night.
BUT, then I realized that I was playing with that toy with games and internet more than 4-5 hours a day.
Games are killing the battery quick, wireless almost as quick as games, having both of them in action does drink the battery as a V12 ferrari drinks the gasoline, location services also spend a lot of cpu cycles for unknown(to me) reason with the result of giving the battery another hit.
now that my enthusiasm have calm down and my usage also, iphone gets about 3-4 days without a charge, and thats with half an hour internet, another 15-20 minutes of gaming, and normal usage calls per day (about 30 minutes).
that made me think exactly the opposite of what I first thought. battery for such a SMALL device with all these candies is just amazing. I would get about 3 days from my motorola with GREEN small screen(just calls), the same from my ericsson P990i, that is more than double the size of iphone, and way less powerful.
I even discovered how apple can have such a BIG battery life from that miniature PDA-phone. there is a sensor near earphone that detects if the phone is in your ear and turn off the display and turn on again as iphone gets away from your head, also the same sensor detect ambient light and if you are in a dark place screen brightness reduces.
BUT never forget bluetooth,wireless, location services enabled, because no matter electronics are state of the art as it comes to energy consumption, battery is REALY SMALL for that kind of circuits.
Every time you wake up your phone, wireless will check for known networks, at the same time bluetooth will search for paired/known devices, location services will get signal from satellite to know your position. EVERY TIME that your device wakes up!!! no matter you want to use it only as a phone or a calculator.
Also when you are using the iphone, that actions happens every 15 minutes if the services are enabled. So TURN OFF them whenever you don't use these services, and battery life will amaze you! (considering the size of the device ofcourse!)