Getting good battery performance takes time and patience and experimenting. You could have wake locks, rogue apps misbehaving, battery is not properly calibrated, etc. Many things.
If you are not unlocked/rooted/flashing custom Roms, I highly recommend that first. Then there are kernels which is huge. I'm a very heavy user. I can easily go 16 hours with screen on time approaching 3 hours or sometimes more, browsing (data), all syncing on, push notifications, listening to music an hour or longer, etc. I don't even try to save on battery life so i never turn anything off. If i tried to conserve on battery which I have a time or two to test my configuration, I can go a day and a half easy. I can achieve all this through a good kernel and by undervolting.
Once you find a good Rom and kernel combo, you begin dialing in good undervolting settings. After this, you calibrate the battery. After this, you monitor your phone by using apps like CPU Spy and/or better battery stats to ensure you aren't experiencing wake locks or rogue apps. If not, you're good to go. It seems like a lot of stuff but its really not and kinda fun.
Good luck!
Sent from my Galaxy Nexus using Tapatalk 2 Beta-6