SSL can be "good enough" if two-way authentication is used. However, most sites simply authenticate the server to the client, not the client to the server (requires that each client have a Cert from a recognized CA).
Using one-way authentication means that the attacker knows he has the right server, but you have no idea who the attacker is.
As far as encryption protection is concerned, either is sufficient, with SSL yeilding a slightly stronger encryption than the 3DES IPSEC VPN.
You can also use the SSL algorithms for encrypting traffic other than web by using TLS. Same algorithms, key exchange and handshaking, just does it for any TCP connection.
And yizhar is correct. Even if you use a VPN, you want to restrict the ports/protocols that are allowed so that you provide some level of protection if someone hacks your VPN. Or more likely, installs a remote control trojan application on one of your VPN clients. That can happen easily if you allow people to install the client on their personal machines.
pansophic