"--" is used to mark the end of options and thus the beginning of arguments. It tells the command to treat everything following it as arguments and _not_ as options, even if something may _look_ like an option. This is used in several commands, not just `ls`.
This prevent the command from choking on arguments (eg. filenames) that begins with a hyphen (-) or two (--), which else would cause an error (no such option) or unpredictable result (if the hyphened argument actually is a valid option), because the command would try to interpret it as an option (and not as an argument).
For example, lets say one of your arguments is a file with a newspaper article:
> -No Collusion, President exclaims - Washington Post.html
A preceding "--" will prevent the "-No" from being treated as an option.
This is especially important when using jokers (*) as in your example, because you'll never know beforehand if one or more of all the files from several sub-directories may begin with a hyphen.