Why would anyone ever use self signed certs? Buy a cheap ass domain, and use LetsEncrypt to get a free cert.
Not pictured: Using a CA to properly administer certs because self-signed certs are not secure.
How are they not secure? You are still doing TLS to the service, maybe they have weak keys but it is still a form of secure connection.
Certs do more than encryption in transit. They are also used for protection against MitM and authentication. Self-signing removes the ability to verify a cert’s authenticity.
That’s bullshit. You are the one who issued the cert. You can add it to your list of trusted certificates. You just have to check that this is the right certificate.
Your man in the middle scare comes from users who ignore cert warnings and continue without checking anything.