Importancia de la clave secreta de la sesión en el marco web Express

Estoy bastante confundido por la importancia de unsecreto de sesión. Me lanzo al desarrollo web con Express y Node, y en este momento, estoy intentando implementar un inicio de sesión simple. El código de abajo se toma del ejemplo de sesiones en Express.

// Required by session() middleware
// pass the secret for signed cookies
// (required by session())
app.use(express.cookieParser('keyboard cat'));

// Populates req.session
app.use(express.session());

Utiliza "keyboard cat" como un secreto de sesión. Muchas de las cosas que he buscado en torno a los secretos de la sesión me recomiendan cambiar esto a algo personalizado. Ahora tengo 3 preguntas específicas sobre esto.

¿Por qué no he visto esto antes cuando estaba trabajando con PHP?¿Para qué se utiliza exactamente el secreto de la sesión?Digamos que cambio la clave de sesión. Mi código es de código abierto. ¿No será un poco redundante cambiar esto en ese caso? No veo pedirle al usuario una clave personalizada como opción.Estaba pensando en generar un UUID aleatorio para completar la clave. ¿Hay problemas con esto? (en términos de seguridad)

Respuestas a la pregunta(3)

Su respuesta a la pregunta