Every Linux device needs an
init program of some kind. If you are designing a system which only has to launch a small number of daemons at startup and remains fairly static after that, then BusyBox
init is sufficient for your needs. It is usually a good choice if you are using Buildroot as the build system.
If, on the other hand, you have a system that has complex dependencies between services at boot time or runtime, and you have the storage space, then
systemd would be the best choice. Even without the complexity,
systemd has some useful features in the way it handles watchdogs, remote logging, and so on, so you should certainly give it a serious thought.
It is hard to make a case for System V
init on its own merits, since it has few advantages ...