Solo un complemento a la respuesta de @ Anders.
Las cookies son una forma de tener sesiones con estado en HTTP que, por sí misma, es un protocolo sin estado sin conexión. Las sesiones son necesarias para las aplicaciones web y cualquier negocio en línea.
Las cookies solían estar mal vistas como lo era javascript en los primeros tiempos, porque primero es una forma de recopilar estadísticas de uso y tiene problemas de privacidad, mientras que el otro permite que el servidor controle el navegador, que tiene problemas de seguridad. Hoy en día, muchos sitios simplemente no se pueden utilizar con las cookies o javascript deshabilitados, y deshabilitarlos en un navegador no siempre es una tarea trivial. Entonces, mi opinión es que está bien proporcionar un servicio que requiera cookies. Solo muestre una página de advertencia que indique que su servicio requiere cookies si no puede establecer una sesión.
La reescritura de URL es (era?) una alternativa a las cookies para proporcionar sesiones en HTTP. En ese modo, constantemente agrega un parámetro que consiste en una clave y el identificador de sesión. Todos los datos de la sesión deben llevarse del lado del servidor en ese modo. De esa manera no hay riesgo adicional de fuga de datos porque solo se intercambia el identificador en la URL. El inconveniente es que no es compatible con marcadores: la URL contiene el identificador de sesión, por lo que si marca la URL de una página que lo incluye, obtendrá un error de sesión no válido cuando intente usarlo más tarde. Y es mucho más difícil de usar que una cookie para pasar información entre sitios del mismo dominio. Por ese motivo, las cookies son ahora la forma estándar de tener un sitio o aplicación HTTP con estado.
Las personas a las que no les gustan las cookies también argumentarán que no existe un equivalente persistente en la reescritura de URL, y que las cookies persistentes son muy utilizadas para recopilar datos sobre el comportamiento del cliente, las principales empresas web (Google, Facebook, Amazon, etc.) voluntariamente solo permití que las cookies navegaran por sus sitios, y eso debido a la reescritura de esa URL ha sido más o menos abandonado. Ya sea que sea verdadero o falso, ahora no tiene sentido porque el hecho es que la mayoría de los usuarios requieren las cookies y están permitidas por la mayoría de los usuarios.