systemd timers instead of cron
The move was not driven by any deficiency in cron itself. It was driven by the fact that when a cron job fails at three in the morning, the evidence is a mail nobody reads on a host nobody logs into.
With a timer and a unit, failure lands in the journal alongside everything else, exit codes are visible, and you can ask the system when a job last ran and when it will run next without parsing a crontab in your head.
The cost is verbosity: two files instead of one line. For anything that matters, that trade has been worth it. For a one-off cleanup script, honestly, cron is still fine.