The third argument of
add_action is the priority, or order in which functions hooked to an action will be executed. from
add_action in codex:
(optional) Used to specify the order in which the functions associated with a particular action are executed. Lower numbers correspond with earlier execution, and functions with the same priority are executed in the order in which they were added to the action.
omitting priority gives your action hook the default priority of 10. in the specific case of the tutorial you linked, I don't see any particular reason why it has to be given a priority of 0.
as for your other question-
Lastly is there a benefit to calling the above function before the actual function
simply defining a function does not call that function. the snippet you posted is hooking that function to an action, in this case
init. from codex:
Actions are the hooks that the WordPress core launches at specific points during execution, or when specific events occur. Your plugin can specify that one or more of its PHP functions are executed at these points, using the Action API.
When WordPress reaches the
init phase of a request, all functions hooked to that action will be called. See the Action Reference in codex for more info and a list of all of the actions WordPress executes in a request.