Some work has to happen on a clock: nightly backups, cleaning old logs, sending a daily report. cron runs a command at the times you list, with nobody logged in. Reach for it for simple repeating jobs on one server. For jobs that must not overlap or must catch up after downtime, a systemd timer is safer, and many "cron did not run" bugs come from its tiny environment, not the schedule.