Batteries are all the same technology, lithium polymer. Most OEM batteries are between 900mah and 1500mah. (e75 is 1000mah, e71 1500mah, n95 700mah) So I think it is the light weight of the OS not needing a lot of power to run smoothly. Hardware setup, CPU speed and efficiency, and how many extra gadgets and sensors in the phone, that also need power, affect the battery life. Besides, the N95 has battery life on par with the G1. It will last a full day with average use, like the G1, but dies quickly from hard use. A 1500mah battery in the G1 would only give you about 20 more minutes of heavy use. The G1 has a much richer UI that demands more power.
The scaling in cyans ROM means it is not full power all the time. I'm not a power user, so I can easily make it 16+ hours, or all day, on a charge. When the iPhone is running at the full 600MHz, it will drain fast too.
Its not the amount of music, or how easy they make it to click the buy button, its the interface. I know some people who are not computer dumb, that had problems getting there music imported into iTunes. The menu selection to add the music is not intuitive, it does not work like you think it would, if your a user of windows or linux. Like I said, they are not dumb about computers, and they had to get me to set it up, and I have done it several times now, and still find it a pain. Its only a few mouse clicks, but it irritates me to no end when I do it. I don't like how the library interface is set up either, that is my preference though. And they still try to control too much, the recent iPhone Google voice app situation is an example. You can't even run their OS unless you also buy a Mac. "Our stuff or way and on our hardware" seems to be their creed. I love the iPod, but will never own one, for the reasons stated. If they would add WMA support, and make it compatable with other media players (or at least not threaten legal action against those who make drivers/media players that will sync with iPods) or make it at least drag and drop friendly (like USB drives) then I would get one.
Memory managment is an android issue. It may cause more battery use, but better hardware would mask that. So its memory management that is the problem, poor battery is the symptom.
Android is not perfect, but it is still a young OS, it has potential. It all depends on google and how commited they are to make Anrdoid better. The Devs making custom ROMs can do a lot, but still need to work within the basic underlying framework of the OS.