Lo que hace es retrasar una posición el carácter de fin de cadena '\0' sustituyendo al carácter de nueva línea.
fgets guarda las cadenas de esta forma, si la ha conseguido desde stdin y la ha leído toda:
"Una cadena de ejemplo\n\0"
fgets guarda las cadenas de esta forma, si la ha conseguido desde stdin y la ha leído toda:
"Una cadena de ejemplo\n\0"