Define a unit and run it individually to troubleshoot vs modifying the crontab for 1 min ahead
Logging in journalctl
Built in jitter options to spread tasks across a window in a large fleet
Ability to use the unit as a dep for other things
Instrumented in systemctl list-timers
Store config in user home dir (I think ) for tasks owned by a user
These aren’t really better, they are just different ways of doing things the old fashioned way.
(e.g. put all your logic in one script, test it with “env -“, lock exclusively with flock if you need it, or whatever else you have to hand in your language of choice.)