4.10: System V (in 2004), first release, adopted from Debian
6.10: Upstart (in 2006), see http://upstart.ubuntu.com/index.html
16.04: systemd (in 2016) and it was gradual.
This is part of the natural evolution of software. There are new requirements and new software is needed to implement them.
I had this problem too - I gave up and moved to runit. It's basically an improved version of DJB's daemontools, you write very simple scripts, it monitors their output, handles logging, and service management and that's it. Very minimalist, but quite capable.
And, quite importantly, it's capable of running on top of another init system, it doesn't need to be PID 1, so I'm able to run it on FreeBSD with rc, Linux with sysvinit and Linux with systemd with the same script.
It makes it so easy to write service scripts I went from running my personal stuff inside a tmux script to runit in about an hour.
I develop lots of side projects that I always host in Ubuntu. They are web projects that require knowledge of configuring, stopping, and starting services on the box with ease. I am fully comfortable with upstart - but to learn systemD adds a huge amount of overhead to someone like me with little time who just wants to enjoy coding and shipping fun projects. I don't want to be a fulltime sysadmin just so I can launch a demo or game that nobody will ever use!
It's the use of the CADT development model: https://www.jwz.org/doc/cadt.html
12.04: System V
14.04: Upstart
16.04: System D
18.04: ???
Gahh...stick with something. I'm tired of learning an entirely new init system every couple years.
To be fair, this is a problem with Linux stuff in general; I just wish Ubuntu could lead the pack in picking something and sticking to it.