This is the man page entry for -n:
-n
suppress automatic printing of pattern space
I notice that when not using -n for certain operations, each line is printed to stdout (and the requested lines are printed twice):
$ cat test.txt
first
second
third
fourth
fifth
$ sed -n '2,3p' test.txt
second
third
$ sed '2,3p' test.txt
first
second
second
third
third
fourth
fifth
However, this law does not hold for other commands:
$ sed -n 's/t/T/' test.txt
$ sed 's/t/T/' test.txt
firsT
second
Third
fourTh
fifTh
So what does -n do, exactly?