[Samsung Galaxy Nexus] Dr Byte:
No rocket science involved; I'm only on my third full charge cycle on a new phone, but still getting 3-4 hours without letting the battery get down to the lower third.

About 5% wakelock time for me (I haven't tweaked everything yet, K9 in particular uses a few since I have multiple email accounts.) 384/1228, 4.0.4 stock with M3 kernel. OnDemand, 80%. Auto-brightness and even a live wallpaper.

Here's the rub - are you really checking the wakelocks, or just the "Kernel Wakelocks" that come up by default? Look at "Partial wakelocks" as well in BBS.

Take a look at the boring, built-in battery stats in Settings. Look at the graphs at the bottom, showing Screen, Awake, GPS, Mobile etc. COMPARE the screen line to your awake line. I suspect the latter is much bluer than the screen line, with much "chunkier" appearance and lots of activity when the screen is off.

There are several programs around that use wakelocks by stealth, and many that have very poor exception handling around wakelock requests (http://docs.lib.purdue.edu/ecetr/430/ though this paper has been withdrawn, it contains VERY USEFUL ideas for wakelock hunters).

I found apps like "K9" (in "push" mode, NOT poll) and "Fancy Widgets" to be prime offenders. The problems stemmed from inadequate code checking; they request a wakelock before an activity, and if an exception is thrown, never get to the code where it is released. Let's not even mention the Facebook app. (Oh, damn!)

Another "kicker" can be the Location Services. Many apps use this by stealth in my experience, some with absolutely no valid reason.

Also, in "Location Serivces" Settings, I have only GPS enabled, because otherwise it's forever trying to compute your location. Similarly, I have "Search for open Wifi networks" disabled, because it, too, keeps waking up the phone to sniff the airwaves.

Running lots of programs that "sample" events (like battery monitors) can generate a lot of wake-activity in the Alarm Manager, as they periodically wake the phone to take samples.

On my Desire (CM7/ManU kernel) I got things so efficient that the Google Backup Services (googlebackuptransport) was the primary wakelock holder, and it, too seems to suffer from leaking wakelocks (at least, on that combination of OS/kernel and enough others that it makes an impression with Google's own search engine :).) My "awake" line suddenly changed to almost the same as my "screen" line in battery stats when I fixed that last one! My record was about five days on a charge.

For the ultimate in efficiency, consider how you REALLY use your phone. Overnight while sleeping, do you REALLY want to be woken up by an incoming spam email? I think not. I use MyProfiles (app) in two modes - sleeping-time and Normal. During sleep time, Wifi, 3G data, GPS, Sync are all disabled. It is simply a telephone! I've been losing as little as 1% while I sleep, and stretching a charge out to 2-3 days, as I typically did on the Desire.

However, beware: this app can use mobile tower adjacency to change profiles automagically - but by doing so it can truly ream your battery if you live in an area like mine with multiple overlapping tower footprints! I stick to this simple hour-of-day rule.