If you make your own SSL certificate, it will (probably) not be trusted by users.
Not everyone has web sites where the general public are invited. Sometimes they are for friends only. In this case, you should use a proper self signed cert which gives you 100% of the security and 0% of the cost of a cert signed by a company like Verisign or Thwate.
You have to buy a proper certificate.
If you make your own cert, it is proper. That is, if you make your own, your site gets exactly the same level of security of a cert purchased from Verisign or Thawte.
Mark R is right though: If you are setting up an online store where you will be accepting credit cards, then you do need to purchase a cert signed by Verisign or Thawte. Do not buy one from GoDaddy since they aren't trusted by lots of web browsers.
You can make your own cert with openssl. If you are setting up a web site that takes credit cards, then buy your cert from Thawte.