Summary
Every Linux device needs an init program of some kind. If you are designing a system that only needs to launch a small number of daemons at startup, then BusyBox init is sufficient. BusyBox init is also usually a good choice if you are using Buildroot as your build system.
On the other hand, if you have a system with complex dependencies between services at boot time or runtime, then systemd is the best choice. Even without such complexity, systemd has some useful features like watchdogs, remote logging, and so on. If you have the storage space, you should seriously consider systemd.
Meanwhile, System V init lives on. It is well understood and there are already init scripts for every component that is important to us. System V remains the default init for The Yocto Project reference distribution (Poky). In terms of boot time, systemd is faster for similar workloads. However, if you are looking for the fastest boot, neither beats simple BusyBox init with minimal boot...