Trigger once isn't really necessary here. It prevents that this event is tested every tick. If the velocity is for example 'greater than 0', this event is triggered once and the action will be executed. Only if the velocity changed back from another value 'greater than 0' to 'greater than 0', it will be triggered again. Otherwise it will be ignored. The same for 'less than 0'.
Those both events will work the same without trigger once, but will be tested every tick. So it's a teeny tiny bit performance save. You also don't need the else ,but is there for the same reason.
From the manual:
Trigger once while true
Turn an ordinary event (which is tested every tick) in to a trigger. For example, if an event plays a sound when lives equals 0, normally this event runs every tick. This plays about 60 sounds a second and would sound pretty bad. Adding Trigger once while true after the other conditions makes the event run just once when it first becomes true. This makes the previous example only play a sound once the first time your lives reaches 0. It must be the last condition in an event.