Tab-completion is somewhat obnoxious in directories with lots of files sharing a common prefix, for example.
Also, if you accidentally tab-complete the same file for output and input, depending on how clever the program is, you may end up deleting the source file.
i always run mv -i to make sure i don't accidentally overwrite an existing file.
i don't alias mv to mv -i either, to avoid getting used to the idea that just mv is going to ask me, because i might work on a server where the alias is not set.
Also, if you accidentally tab-complete the same file for output and input, depending on how clever the program is, you may end up deleting the source file.