Moves have a set order in which their events happen. There are names attached to these times, and things they do, and things they don’t do.
It applies to basically every move; though the mechanisms may be very varied, the same basic principles apply, and the time goes in order even if the move’s timing itself does not!
The first step involves input. The factors involving its timing are mostly dependent on the player’s ability, though a buffer will take care of it in the end.
When a move has been determined to be established by the system that yes, you want to execute it, the next step is “startup”, during which time you are usually somewhat vulnerable.
When the move is done with beginning, assuming all has gone well so far, it then passes on to its supposed business, if any.
Finally, assuming nothing has cut out the move’s process so far, there is some time to cool down (or retract one’s arm from a punch, and so forth). One is almost always defenseless during this time. Fortunately, it may be cancelable, which will cut the recovery time (and replace it with the timing of whatever cancels it).
After recovery, the cycle is now finished, ready to begin anew with the performance of another move.
It is worth noting that frame data will list the values for “startup”, “active”, and “recovery” times. Somewhat but not entirely separate from these values, frame data can also help how much frame advantage or lack thereof one is in after hitting or being blocked in certain ways.