A cron expression is five fields — minute, hour, day of month, month and day of week — and most schedules people need fit in a dozen characters. The difficulty is rarely the syntax. It is what the syntax leaves unsaid: which timezone the machine runs in, what happens when the previous run has not finished, and how the two day fields combine. This group is one generator plus a page for each schedule people search for most, and each of those pages deals with the failure specific to its interval.
Use the cron expression generator when you have an expression to read or a schedule to build. It explains every field in plain English and lists the next five runs in your own timezone, which is the fastest way to catch a schedule that fires on the wrong day. Its reference table covers the common schedules and the @daily-style shortcuts. It reads the five-field crontab format used by Linux and most CI systems, not the Quartz dialect with a seconds field that Java schedulers use.
The interval pages answer narrower questions. Every minute is about overlap: cron starts the next run whether or not the last one finished, so a job that sometimes takes seventy seconds will eventually run twice at once unless you guard it with flock. Every 5 minutes explains why a step of five divides the hour evenly and a step of seven does not, and every 15 minutes and every 30 minutes cover moving a job off the top of the hour, where every other job on the machine also starts. Every hour covers two- and six-hourly schedules and the hour that repeats when the clocks go back. Every day at midnight deals with the day when daylight saving removes midnight altogether. Every Monday explains why Sunday is both 0 and 7, and every month shows how to run on the last day, which crontab has no character for.
One rule catches more people than any other. When both day-of-month and day-of-week are restricted, standard cron runs the job when either matches, not when both do, so 0 9 1 * 1 fires on the first of every month and on every Monday. If you need the first Monday, schedule days 1 to 7 with the weekday left as a star, and let the script exit unless it is Monday.