Most of the code of this function is ignored. It justs uses the data that was prepared by the function build_navigation() and returns. So the parameter $separator is also ignored.
When you edit a theme, you use this print_navigation() function in headers and footers. And after reading code documentation, you think you can easily change the separator in the breadcrumb.
In fact you can't :
is the same as
I suggest this $separator parameter should be documented as obsolete and generally meaningless. And by the way a short comment in the code would help.
I hope I didn't misunderstood anything. Sorry if I'm wrong.