GDGs allow the user to run jobs in cycles (e.g. daily, monthly, etc.) and collect the O/P files in groups, without changing the JCL from run to run.
For example, the O/P file can be coded with DSN=A.B.C(+1) and a new O/P file is created at each execution with a unique dataset name, e.g. A.B.C.G0001V00 at the 1st run, A.B.C.G0002V00 at the 2nd, etc.