I have not used systemd in practice but my experiences with upstart in practice are very different from both sysvinit and from what I read about systemd. I actually think systemd seems to be closer to sysvinit than to upstart.
EDIT: It is the reversed dependency logic in upstart which makes it so different from anything else.
EDIT: It is the reversed dependency logic in upstart which makes it so different from anything else.