One of the important use of proc is we can reuse it. So, if we want to make any changes in the proc, we can make those by changing JCL.
Basic example gives pretty good idea on Cond and Restart:
//JOBSTEP EXEC PROC=TEST,COND.PROCSTP4=(8,GT)
When we give Cond on Step, it validates with all previous Step Return codes.
Restarts Procstp2, and, cond parameter is overridden for Procstp4.