Here comes the answers.
They don't, actually. I haven't tried it without targets though, and knowing that the internals of the Tease Player (tm) is a bit quirky in places, I didn't want to leave it out without testing.
Speaking simplified, repeatadd adds a number to a counter page while repeatdel subtracts it. You can not use negative numbers in repeatadd afaik, so there are two commands instead.
To answer that, maybe the term 'counter page' is not really fitting. They work more like a barrier. For each of the possible outcomes (3 in this case), you set the barriers to a negative value, as done in the first few lines of the script - the three repeatdel statements set the barriers to -20, -40 and -60.
Whenever you want to add points, you add them to all barriers. For example, after adding 30 points, they would be at +10, -10 and -30.
Then when evaluating the counting (or barrier) pages, the commands will automatically go through every barrier that is positive, but can't go through negative barriers. Following the example, you would go through the first barrier but can't pass the second one. That is why you end up at the page stating "You have 20..39" points (which is correct since you have 30 points).
This also explains why the number of counting pages (barriers) you need is #outcomes-1. If you do not get any points, you can't pass any of the barriers and are stuck on the page before the first barrier. The page states that you have "less than 19 points" which is correct.
I hope that makes the thinking behind it more clear than confuse anybody
It simply allows to group multiple actions together. You need it to combine all the repeatadd or repeatdel you need in one page.
I actually thought about making a flow chart to explain it better. Let me know if you are interested.
The point is, it is easy to do once you understood the steps. Then it is just more of a copy&paste thing with adjusting some numbers.