My 4S is definitely better than my 3G was, but then it was 3 years old when I traded up. I still get a days worth on either. The catch is that the 4S is so much faster and generally more useful that I end up doing more battery sucking things with it just because. It's smooth and does great transferring real time maps with GPS while streaming Pandora in the background, even over AT&T "4G".
If I leave both on the table and mostly ignore them for the day, the 4S gives me more battery life than the 3G ever did.
If I actually use them as I usually would have, the 4S loses... but I find I actually use it A LOT MORE. When I first got it I found myself thinking "Man, the battery life sucks on this" but then I realized I was bascially using it non-stop. Once I got over the "OMG NEW-SHINY" period, it's on par with what the 3G was.
In short, I think the batteries Have improved, but we now expect our phones to do more, and have found more and more ways to use them more on a more regular basis. We cram more powerful AND power hungry chips in the same package and then get annoied and act surprised when it doesn't last as long as the older ones did.
The same thing has happened to laptops... and because this is slashdot, cars. I mean, I remember in the 80's and early 90's when we had little civic hatchbacks that got 55+ MPG. Why don't we have that now? because the civic is huge in comparison, weighs almost twice as much (the old 90 DX was literally 1 ton), has A/C, power everything, huge beams and airbags for safety, etc. And everyone thinks we should have more MPG by now. Yeah. We should, except you wanted all this other crap in there too.