Rrr please don?t laugh about my try to explain it you :D I?m really no native speaker.
If you make something like:
On collide
-AND-
On key press
They cant exactly trigger at the same time, this is the problem.
"On" are "real" Events, they really trigger only once as soon as you tell it them.
"None Real" Events are something like:
->System compare 1 = 1
This get handled like: Every Tick "if value 1 = 1". in c2 it was just made easier.
Every tick is also a "real" Event the only difference between "on" is that this event get called every Tick not at the moment you tell it him.
If you know how Javascript(This is the language on that C2 is based) works it would be easy to explain it to you.
You only really need to know that On is a call and not a condition.
Hope it helps you a bit, if not just wait till any native speaker got time to explain it to you :D