Hi,
the confusion comes from the wording.
"everyFrame" in this case ( when you ticked "per seconds") ONLY means that the action will not finish, that's all there is to it.
if you look at the code, you'll see that if "everyframe" is not ticked, then it finishes the action during the onEnter(), else it will not and thus the OnUpdate() will be effective. then the "per seconds" checkbox kicks in, either it simply rotate every update ( frame rate dependant), or per second ( NOT frame rate dependant).
the second catch, is that no matter what, here we are using the Update call to rotate our object, BUT when it's per second, we compute exactly how much it should have rotate based on the deltatime between the last update and this update, that's how a true frame rate independant animation can be achieved.
Bye,
Jean