SSL and TLS are the same thing.
To be precise, SSL is the "old name": it means Secure Sockets Layer. It was the name of the protocol originally defined by Netscape. The last version of that protocol (SSL 3.0) has been later on published as RFC 6101.
In early 1999, the protocol was turned into an IETF standard, not something owned by a private corporation. This implied a change of name, both to symbolically assert the will to push the protocol into the public, implementable by anybody, and also to avoid intellectual property issues. The new name is Transport Layer Security, aka "TLS". This also expresses the idea that TLS can be applied to various transport channels, not just sockets.
So TLS 1.0 was published as RFC 2246. The authors took the opportunity to iron out a few historical quirks, meaning that TLS 1.0 is very similar, but not completely bit-to-bit equal, to SSL 3.0. Down on the wire, TLS 1.0 clients and servers actually announce the protocol version as "SSL 3.1".
As for the certificates, there is no difference. "SSL certificate" is the colloquial term for "a certificate that is fit for a SSL server". Such a certificate would work equally well for a TLS server, and vice versa. Certificates exist outside of SSL/TLS, and there is no notion of SSL/TLS protocol version which would apply to certificates. There is no place within a certificate where it would be written "this certificate is for SSL 3.0" or "this certificate is for TLS 1.0".
OpenSSL is called OpenSSL and not OpenTLS because it is a derivative of an older library called SSLeay, which was written years before the name change to TLS. A contrario, the GnuTLS library, a competitor to OpenSSL, was started after the name switch, and is sponsored by people who value naming correction over pedagogy (let's face it, the "SSL" acronym remains much more widely known and understood than "TLS").