Well if you only care about deamons that you write your self then yes this is a no problem as you write but as a distribution one have to think about all those strange and different daemons out there.
Of course, systemd isn't a perfect solution either. For example, if a daemon forks and exits and then the child process gets stuck but doesn't terminate, systemd won't know about it. A custom restarter could check for that condition as needed.
For the random daemon out there yes but it the daemon supports systemd it can send heartbeats to systemd with "sd_notify (0, "WATCHDOG=1");" in order to catch a stalled deamon. systemd itself can also send heartbeats upwards to a harware watchdog so your whole server gets a reboot if the whole system stalls.