From my research, it would appear that Supervisor and Systemctl are not interchangeable, however they have overlapping functions; notably, they both can be used to start other processes. However, Supervisor is capable of restarting an application that died for whatever reason. I cannot find anything that suggests systemctl is capable of this.
Can Systemctl be used to restart a process that has died?
Moreover, it seems to me that most people will, for example, add Postgres and Nginx or Apache to Systemctl, but will add their application to supervisor. Why is this? Shouldn't they add all of these to Supervisor instead, so that Supervisor can restart them if they died?