Souvent, c'est pour marquer la fin des flags. Imagine que tu ais un fichier dont le nom commence par un tiret (par exemple : -config.cfg) : si tu écris "print -r -config.cfg", la commande va t'indiquer qu'elle ne connait pas ce flag -config.cfg. En mettant le --, tu indiques qu'il n'y a pas de flag supplémentaire et que ce qui trouve après doit être considéré comme un nom de fichier
On trouve ca pour plusieurs commandes (rm ...), j'imagine que c'est aussi le cas ici.