The key difference is you can right full or partial traffic (by subnet) over SSH with applications not being aware - individual applications do not require SOCKS support.
Route* not right. As an example, you can send traffic destined for 142.0.0.0/8 via the SSH connection, and leave everything else untouched. Any application connecting to that IP range will be automatically tunnelled via SSH.