SSL certificates provide two things:
- Authentication of the organization to whom the visitor is connecting (the organization is verified to be www.foobar.com)
- Confidentiality of the communication (data is encrypted using the public keys in the certificate)
Concerning point 2, there's no difference in using a self-signed cert, a certificate issued from a free CA such as CACert, or a paying CA, since the strength of the encryption depends on the characteristics of the key pair you generated (a default 2048-bit or 4096-bit RSA is fine).
Therefore what it interests us is point 1, since it's the CA who verifies and certifies the identity of the remote website. It all boils down on how the CA verifies these websites. In this regard, using an external free CA untrusted by browsers doesn't make much difference from using a self-signed cert. Therefore I would go for a self-signed cert in this case, as you can generate it yourself without hassle (just make sure you're doing this properly!).
You can safely use a self-signed cert if your website is for internal use, say your friends, or a group of people. (From what I understood from your question, this is your case.) However, if your website is public-facing and you want to do things in a proper and professional way, you should buy a SSL cert from a recognized CA.