The other init systems I'm most familiar with are systemd and sysvinit. Systemd is nice and easy from a user's perspective, but it's not all that flexible if you want to do something systemd doesn't already support. Sysvinit on the other hand is minimal and flexible, but I have no desire to write a classic init script at all.
Shepherd is somewhere in between. It's extremely flexible (for example Guix added a containerization feature to use in Shepherd services, and due to Shepherd's design that's just a module within Guix; it doesn't have to go in upstream Shepherd) and yet writing services is pretty simple.
The services-in-containers extension you mention is a good example of that: it is implemented on the distro side (in Guix) without any modification to the Shepherd itself. The good thing is that the distro is in a good position to determine how to set up that container since it knows about the package being run, its configuration, and so on.