In which cases should I not call user_access() in a form submission handler?
I did a little detective work to find when that user_register_form() code was committed and then traced the corresponding issue.

From comment #21 there:


  The problem is that you can't form_alter out the admin behavior without rewriting the submit handler from scratch.


So I guess the approach you use just depends on whether you want to allow your access checks to be altered by other modules without them having to override your submit handler.