For the safety of the data your key matters. As most people do not know your (public) key certificates are a way that some trusted instance can verify your key and sign a certificate "the key indeed belongs to domain X".
For when you don't need a public CA, it is to costly, or unavailable for other reasons, you have the option to create a self-signed certificate which is signed with the key itself. Users have no direct way to verify it as they do not know the key and have no indication if it is your self-signed certificate or some rogue one.
But there IS a way to trust the certificate and that is validation via another way. Look at the certificate details: There is a fingerprint which can be compared against the fingerprint of the right certificate. If they match, everything is okay.
When you use self-signed certificates just for yourself it is easy to do this verification as you know both sides of the connection. When you are writing an app you can use a hardcoded fingerprint to verify the certificate, which may even be more secure than checking against a CA (because you only need to trust yourself).
What you lose is flexibility. When you want to change the key you need to change the certificate fingerprint in your application. Using the CA system you just let a CA trusted by your application sign the new key and the application will accept it.
To answer your question: They are safe as long as you verify them in some other way which works without a CA. When you disable checking certificates you are way less secure.