Upstart doesn't come close to offering what systemd does. If you want to know why it was created here's the announcement link: http://0pointer.de/blog/projects/systemd.html
Things to look for in that post, imho, are: keeping track of processes, keeping pid 1 small, and on upstart.
Upstart simply doesn't cover quite the same area, or do it in as well, as systemd. One of the big telltales of this is that, apparently, ubuntu has still failed to convert a very sizable chunk of their shell scripts to upstart files. Again, apparently, upstart has issues with both properly tracking processes, and doesn't offer anywhere close to the backwards compatibility with sysvinit that systemd does (which, itself, isn't perfect, but does an awfully good job just working with old scripts).
There is a reason so many people from so many different groups have converged around systemd. It actually solves problems, and is architected extremely well.
BTW, RH actually use upstart in rhel 6, so they backed the project for awhile.