It depends what you want to use it for. I use VNC quite a bit in my work to access remote servers from my home or office and it works fine for that as I am on the same network (office) or VPN (home). Of course each machine I need to access has been configured with the VNC server running.
For providing remote assistance to friends/family (especially those that are not too computer savvy) I prefer TeamViewer because I just need to have them download it and run it, no setup for them to do. Also, TeamViewer has a chat function so we can talk as I provide remote assistance.