It's not comprehensive - in Guix there are services that exist above and below Shepherd and you can't define ordering dependencies between these (ex: a shepherd service can't depend on a mount (above shepherd), or an inetd service (below shepherd) on a database). I'm not sure that's a huge problem in practice.
Shepherd process stdout/stderr are sent to syslog. Shepherd automatically restarts services if they fail but not forever, and the retry behavior isn't configurable ATM.
Guix is for you if you want to run old software on a discontinued software stack simultaneously with a modern system.
The big wins for me though are: having all my system configuration in a small set of versionable text files (rather than gigabytes of mutable state), and being able to attach dependencies to the scripts that require them rather than to the system they're expected to be run on.
(I use NixOS, but it's the same concept)