I see in a couple of bots this construction:

def main(*args):
    for arg in pywikibot.handleArgs(*args):

Now, if I write instead of this
def main():
    for arg in pywikibot.handleArgs():
the result seems to be just the same. I tried with valid global and with unique parameters as well.
So, what is the difference?
I know the theory that * means a variable width argument list, but if I omit it, the behaviour does not change.