En el 99% de las páginas web donde hay que registrarse para algo te piden una dirección de correo electrónico. A veces la usan como identificador de usuarios, dificultando, si no imposibilitando, cambiar esta en el futuro. En otras, simplemente lo usan para enviarte emails de márketing de vez en cuando. O mismo para comprobar que "seas humano" y que no tengas varias cuentas.
Esto se ha convertido en una pesadilla. El email (protocolo SMTP) es muy antiguo y muy inseguro (aunque existan mil capas por encima, como DKIM, SPF y DMARC), y es difícil tanto para servicios como para usuarios gestionarlo correctamente.
Los servicios que envían correo no pueden hacerlo directamente (poder pueden, pero muy probablemente tengan problemas), con lo que necesitan un servicio especializado para enviar emails (Amazon SES, Twilio SendGrid, SendinBlue...) por el que generalmente hay que pagar, salvo que sean muy pocos mensajes mensuales.
Además, hay que diseñar los flujos de interacción a través de email correctamente. Por ejemplo, para cambiar una contraseña, hay que pensar en cómo comprobar la identidad del usuario que pide el cambio. Generalmente, mandando un email con un enlace para reiniciar la contraseña. Luego, mandar otro avisando "oye, se ha cambiado tu contraseña". Y aún así, no vale de nada si alguien se ha colado a tu correo y está cambiándote las contraseñas de las cosas. Necesitarías otro método aparte para confirmar dicho cambio, por ejemplo, un SMS (que es aun peor, por cierto).
Luego, a nivel usuario, tienes que preocuparte de que te llegan los correos (y tu proveedor no los bloquea o los envía a Spam), de que sean verídicos y no phising, y de que no se cuelen en tu cuenta de correo; además de que no te manden basura constantemente.
Con todos los problemas de seguridad, de suplantación y de implementación de este método de comunicación ¿no cabría pensar que alguien ha inventado una solución mejor? Pues no. Seguimos usando esta trapallada hoy día, y es horrible.