SSL (secure sockets layer) is a security feature that encrypts Internet connections preventing would-be attackers from exploiting users and intercepting information. When deployed on the web (using HTTPS), it is most often used for e-commerce, banking, and other sites that require secure transactions or the exchange of private data.
When a web browser detects the use of SSL on a website, it checks the encryption level and also checks to see if the SSL certificate is signed. When it finds the signature, it checks that against its own database of trusted certificate authorities. Whenever a browser encounters an SSL certificate that is not signed or signed by an unrecognized authority, it will display a warning to the user.
Having an SSL certificate normally requires an annual payment, almost like having a license to do e-commerce on the web. As long as you have a site that requires HTTPS, you will probably want to have a signed certificate.
Some website owners sign their own certificates. This enables them to have a secure connection even without purchasing a certificate. For e-commerce sites, I strongly recommend against doing this, since many users may avoid your site, fearing the warning message they receive. Some web browsers make the warnings look pretty alarming.
On the other hand, if you are using SSL for your own personal purposes, such as connecting your web-based control panel, using a self-signed certificate may be fine, since only you will be using it. The same may be true of a private network. If only employees from your company or organization will access the secure site, you can just instruct all of your users to tell their browsers to trust you (the signer of the certificate) for all future visits.