Differences between SSH and Openvpn tunnels
One of the main differences between SSH and Openvpn tunnels is that the former puts the tunneled packets inside TCP packets whereas the latter puts the tunneled packets inside UDP packets. Since UDP is a connection-less protocol this could lead to some differences. In particular, there is a claim that the TCP approach leads to less dependability.
Another difference is that openvpn has some pre-configured approaches to setting up routes so that the packet re-direction is done automatically. Thus applications need not be re-configured or started differently.
One way to use the tunnel with all applications is to create a SOCKS tunnel as described elsewhere. One still needs to "socksify" one's applications; either by re-configuring them a la thunderbird or firefox, or by using a pre-loaded library like tsocks, dante or proxychains.
Another approach uses PPP over the SSH serial connection.
A plus point for SSH tunnels is that setting up and using one does not require the intervention of the "super user" (root) at either end of the tunnel.