If I remember correctly, the intention is to fix the difference between bash completion and emacs-bash-completion.el. When TAB is issued with the last word being empty, bash completion passes that last empty string in the list, which emacs-bash-completion.el just has a shorter list with no empty string.
I was just noticed I didn't PR this commit from some time ago. Here's how it changes the behavior:
If I remember correctly, the intention is to fix the difference between bash completion and emacs-bash-completion.el. When TAB is issued with the last word being empty, bash completion passes that last empty string in the list, which emacs-bash-completion.el just has a shorter list with no empty string.