Since you sort of asked for it:
Init is a monolithic binary. It governs system initialization and shutdown, and supervises processes. Two functions in one program. It should be split in two. On my laptop, there are 40-something binaries in /lib/systemd. It’s modular, and each module is specialized and minimal. But enough of nitpicking.
Systemd is licensed under LGPL v2.1, has repository on github which lists 1075 contributors. There are about 100 open pull requests at all times wating for inclusion, and over 6000 of them has been accepted. The documentation is extensive. And yet you call it a walled garden. Please stop. This one claim is completely unfounded.
In the end, it’s just a matter of taste. I like systemd for its fresh approach to things. It is complex, because managing modern unix is complex. When init was created, environments were simpler. Network was permanent, storage was permanent, memory was permanent, periferal devices also were permanent. Nowadays all those things can come and go dynamically. There is a need for something to manage them, and systemd does it.
I feel that we have drifted completely off-topic. So let the above be my last words about whether to systemd or not.