It's about how the trust is issued:
To trust a self-signed certificate, you need to know the certificate is legitimate through a separate channel. Maybe you created it yourself, or somebody told you the fingerprint of the self-signed certificate.
"Are certificates that are generated by these companies somehow
They abide by a Certificate Practice Statement (CPS) which states how the certificate is issued.
This CPS and the company's reputation is used by the author of the web browser to determine if the Certificate Authority (CA) should be on their list of default trusted CAs.
"If we take to account that NSA, for example, has every private key of
these issuers doesn't it make private certificates actually more
If you have control over the web browser (e.g., you're the IT department), you can remove all the browser-issued CAs and/or install your own. This way you are not relying on a third party CA to protect your data.
For covert surveillance, it's an improvement. It moves the problem up one layer. You still need to trust the web browser, the OS, the computer and the user. Additional measures are needed to protect yourself if you're concerned about this kind of surveillance.
For people who are concerned about covert Government espionage or well-connected enemies, using your own CA is a good route. Be sure to download your client web browsers and software from trusted sources over trusted links, and use measures to ensure it hasn't been tampered with.
For people who think this is quackery, legitimate organisations which have to protect themselves from covert government surveillance would be:
- Embassies and all their staff.
- Militaries operating abroad.
- Lawyers defending alleged enemies of the government.
- Police conducting work against or investigating government entities.
- Journalists communicating with sources acting against incumbent governments' best interest... etc. etc.
If you're concerned about overt government surveillance, where using escrow-free encryption is grounds for arrest, e.g., India, then you have a more complex set of problems.