Replace removes all old before scheduling new, which suits a job where only the freshest result matters. Forbid also prevents overlap but by skipping the new run rather than killing the old one — a meaningful difference when the running job is nearly done. Allow is the default and permits overlap outright. Suspend is not a policy value at all; it is a separate boolean field on the CronWorkflow.
Official docs