I really like upstart, and am quite disappointed that Canonical caved on it. It seems to be an honest improvement on SYSV with standardized configs, while still doing One Thing, Well.
I use upstart on my Ubuntu servers but it's still pretty green: upstart still doesn't offer any reliable way to keep a process restarted after a transient failure (once it hits respawn limit it will never try again) and if its view of the world becomes wrong (i.e. a script's expect fork is wrong) all commands will hang until you manually kill the processes and use telinit to get it to restart.
The fact that it took four releases to add the setuid/setgid statements kind of tells you all you need to know about how many sysadmins the developers talked to.
I initially leaned towards it, but (a) the even model is something I find less pleasant to work with than the dependency model, and (b) the original author disowned it as unfixable.