One can ignore view-factory passed as parameter and use a global view factory created during plugin initialization with no perceivable difference in behavior.

Is the view-factory parameter just a convenience?
Is it OK to use a global view factory everywhere and ignore view-factory parameters? Certainly seems OK, but is it possible to have a problem by doing it? - if so, please elaborate.

They are not the same - Lr is creating a new view-factory object to pass. I'm guessing such is not necessary (any view factory will create views as well as any other, in any context, or so it seems to me so far), and it's just kinda how it turned out, or keeps options open for future... - dunno.