VNC has a couple of advantages over RDP
1, You can over-the-shoulder to a user so both of you can see the screen, great for tech support. Remote assistant can do this but costs extra.
2, There are no changes to the host with vnc, you still have access to the the start/restart menu and can change display resolution etc, which you can't with RDP.
3, You can use vnc from a web browser or a unix machine, not very useful for most people.
4, VNC can also do drag+drop and audio
We tend to use VNC for tech support and RDP for managing headless servers.
ps with RDP you can still restart a machine with alt-f4 even though you don't have the start menu.