Each solution has its own advantages and purpose.
Teamviewer and Google remote desktop are really designed for remote desktop and they're really good at that. Although I hate the issues I have with teamviewer and their "commercial use suspected". So I've recently switched to Google remote desktop, but it's not as good yet imo. I thought logmein had gone under, but apparently not.
VPN brings devices into remote networks and are therefore more flexible. Accessing file shares or other resources like databases works just like when you're local. So you can also use the regular software clients you always use. You also don't need a computer in the local network that you "take over". So concurrent connections are no issue.