In systemd you can have multiple ExecStarts, which will be run in order (if I remember correctly), and ExecStopPost is brilliant for notifying problems..
The main benefit of cron is your code stops once it’s done, process is cleaned up. There isn’t a provided way to do dependencies but that can be done using some shared locks and scheduling. Won’t be completely accurate which why solutions like Airflow are used.
Edit: forgot the most obvious way to do dependencies… just execute A & B together as one cron job; still need something like airflow if it gets into a DAG territory