Each entry in the database is considered a frequency set.
All frequency sets to be ran, plus the settings (waveform, etc.) is considered a program.
When you run a program it must play each frequency set at least once.
With repeat program = 0, it will loop through until you stop it.
Normally in contact mode, one would use repeat each set = 1 and repeat program = 1 to do one application of each frequency set once.
However, it is common in a remote program to repeat each frequency set 4 times, not once. The reason is so that you get more clustered repeats of a frequency before moving on.
So to put this into another perspective, let's say you wish to run 3 frequency sets. We'll call this A, B, and C. Each frequency set has 3 frequencies.
In contact mode, one would play the frequencies as follows:
A1, A2, A3, B1, B2, B3, C1, C2, C3
However, in remote mode, we would aim to play the frequencies as follows:
A1, A2, A3, A1, A2, A3, A1, A2, A3, A1, A2, A3, B1, B2, B3, B1, B2, B3, B1, B2, B3, B1, B2, B3, C1, C2, C3, C1, C2, C3, C1, C2, C3, C1, C2, C3
Then we would maybe repeat the program 30 times, so the pattern above would play 30 more times.
Why not just play A1, A2, A3, B1, B2, B3, C1, C2, C3 120 times? Because by the time we get back to A1, A2, A3, too much time has passed. Remote works best with repeats.
For more details, please check: