/set -u unsets the variable after the routine has finished. It's interchangeable with /var in many cases, but not all cases.
A routine may for example be an alias calling several other aliases - you could access a local variable only within each alias itself. It's also handy in $submenu and "begin": you can access the /set -u global variable in all the other $1 values; the var will not unset until the complete submenu was processed.
Edit: [...] If you specify a zero for N, the variable is unset when the script finishes.
So he could have put: -u0 