Every minute, a cron job is checked whether it should run or not.

    */10 * * * *

is equivilant of

    0,10,20,30,40,50 * * * *

and runs every hour at the minutes 0,10,20,30,40,50. If for some reason (connection congestion, server crash, etc.) that Ultimate Cron cannot launch the job, e.g. 10:30, then normally, the job won't attempted to be launched again until 10:40. The catch up compensates for this, allowing the job to be launched anyway until a certain time. The Catch up value is in seconds, so if it is set to 300, the job will launch at 10:31-35 if it did not launch at 10:30