Basically -n prevents the automatic arithmetic behaviour caused by setting a variable to a value of the format <number> <arithmetic-operator> <number>.

eg. Compare the following:
//set -l %moo 1 + 1 | echo -a Normal: %moo
//set -ln %moo 1 + 1 | echo -a Using -n switch: %moo

It really should prevent the "" behaviour as well IMO so you should post this in either Bug Reports or Feature Suggestions.

Spelling mistakes, grammatical errors, and stupid comments are intentional.