here is what it says on the sudo man page about the "-i" option
-i The -i (simulate initial login) option runs the shell specified in
the passwd(5) entry of the user that the command is being run as.
The command name argument given to the shell begins with a `-' to
tell the shell to run as a login shell. sudo attempts to change to
that user's home directory before running the shell. It also ini-
tializes the environment, leaving TERM unchanged, setting HOME,
SHELL, USER, LOGNAME, and PATH, and unsetting all other environment
variables. Note that because the shell to use is determined before
the sudoers file is parsed, a runas_default setting in sudoers will
specify the user to run the shell as but will not affect which
shell is actually run.
which is basically telling me you are just simulating the shell of the refernced user but some things may not be exactly as the intended user logged in directly. If you ask the question "what" I can not tell off the top of my head. But if you use sudo su - user
command, there are no questions asked as you are launching a new shell process with the settings of the referenced user on its own. In some cases, these two commands can result in the same environment but in some others, one will encounter discrepancies in my opinion.