SSL was designed and implemented by Netscape Communications.
In 1994, Netscape wished to realize the potential for electronic commerce through the Internet, which until then hasn't been fully realized because of the perception that the Internet was insecure. In order to correct this, Netscape decided to develop a new technique to secure communications on the net. This new communications protocol would allow safe transmission of sensitive information (i.e. personal details, credit card numbers, etc).
The product of their design activities was the Secure Sockets Layer protocol, published in October 1994. During the following months, the protocol had undergone an external as well as an internal review process. In February 1995, after five revisions, the protocol became a stable official protocol design.

Since its development, the SSL protocol had various upgrades. The original protocol was SSL version 2.0. This protocol had some security weaknesses and could be attacked easily by active and passive attackers.
The first improvement of the SSL protocol was SSL version 3.0, which was an Internet Draft version and was developed in order to solve those weaknesses.
Later on, a second revision of the SSL protocol was formed within IETF to develop a common Internet standard. This protocol is called Transaction Layer Security (TLS) and is also known as SSL version 3.1. SSL v3.0 and TLS are very similar and have only minor differences.
 

SSL v2.0  SSL v3.0

SSL v2.0 MAC computing is weaker than that of SSL v3.0 because the first one leaves the padding length field unauthenticated. This gives opportunity for potential attackers to modify the padding bytes at the end of messages.
Another flaw of SSL v2.0 is the CipherSuite rollback attack. An attacker may alter the list of CipherSuite preferences to weaker forms of encryption and by doing that could force the parties to use a weaker encryption algorithm while exchanging sensitive application data. SSL v3.0 solves this problem by using two phases of CipherSuites, pending and current session states.
Another feature that was added to SSL v3.0 is the support of certificate chain loading. This means that a server can pass a server certificate to the browser.
An additional difference between these versions lies in the algorithms used for key exchange and cipher algorithms. SSL v2.0 mainly uses the RSA algorithm for key-exchange while SSL v3.0 supports the Diffie-Hellman algorithm, as well as other, more complete key-exchange and cipher algorithms.
Opposed to SSL v2.0, where the client is responsible for choosing the CipherSuite and compression algorithms, in SSL v3.0 the server is responsible for choosing them.