I acquired a Nexus 4 last month. I had heard middling reviews about its battery life. I had come from a string of three consecutive Motorola phones so it was a change.
With the Nexus though, battery life under regular, normal usage is two days. When I say "normal" usage I mean, I use it when I need it, but I don't spend hours texting and watching YouTube videos, etc. When I first got it, I did have to familiarize myself with the device and Ice Cream Sandwich, having upgraded from Gingerbread. Battery life then typically ran a day, maybe 16 hours with really heavy usage.
Based on a recent HTG article, I downloaded and started using Llama http://www.howtogeek.com/142186 and it's not so much extended battery life as taken the burden off of me, the user. Now I have the phone toggle Wi-Fi on when in range and off when not, GPS only toggles on when I'm using maps/navigation and off when I'm not. Stuff like that. Yesterday, I got 3 days out of a charge, normal use, and the battery while low (24%) could have easily lasted to the end of the work day.
I hope battery life is the next "arms race" for phone makers because I think many people start to resent their devices when the battery has to constantly be charged. What good is it to have a portable device if you need to plug it in all the time? The fact is though, it's not just the actual batteries that need to improve, it's also the OS - there's not much in the way of power saving configurations in Android. That I have to go to such lengths to automate battery conservation isn't something others will do - it needs to be built into the device itself and it needs to be smart and easy to use.
Finally, there's just the user. Look at people when they're out, on the train, in restaurants, at the grocery store, movies, etc. People are glued to their phones. Of course they run down so quickly and it's also the reason why batteries tend to wear out so quickly, battery efficiency declines and they don't hold a charge as long, etc.