You can run your linux kernel with init=/bin/bash and .... well, you've got a shell!
A minimal init system can be a shell script that starts some services. Job done. That has historically been the way to do it. There are also several other init systems that are native code based.
Systemd is at the other end of the spectrum. It will setup cgroups and resource limits, syslog sockets per service, supervise services, support socket activation etc. etc. And that's without looking at timesyncd, resolved, networkd and a whole set of other systemd tools.
I personally find it to be rather low complexity for what it offers, but it has a higher baseline complexity, so be prepared to learn along.
And finally.... The maintainer is a rather controversial personal of pulseaudio fame.
Alternatives: https://www.without-systemd.org/wiki/index_php/Main_Page/
Knoppix ( http://knoppix.net ) as of release 8.6 is without systemd, and is a fine live-bootable/installable distro. I've used it to rescue systems.
Because it solves real problems: https://0pointer.de/blog/projects/why.html
If you're a newcomer to Linux, I would very strongly recommend sticking with systemd. Like you pointed out, it's the default for all mainstream Linux distributions.
As for systemd hate, again, most big iron UNIX have introduced similar infrastructure way before systemd came to be.
OS X has launchd, Solaris and its descendants have SMF, for example.