Because...
VNC (even Tight VNC) has far more lag...
VNC cannot (Last time I checked) reformat the screen to the resolution of the client log in machine...
VNC has visable compression artifacts...
Point 2 is completely correct. Points 1 and 3 are dependent on which compression/encoding method you're using. If you use TightVNC with "raw" encoding, no compression is done, so there won't be any artifacts. In addition, this is the lowest-latency method, since the data doesn't have to be buffered and compressed. If you use "tight" encoding, especially with JPEG compression, then latency increases noticeably and compression artifacts can appear (which may be acceptable over low bandwidth links).
I'm not arguing that TightVNC can really compete with Remote Desktop--IMHO, it can't. Being developed by Microsoft, RDP has clear advantages over VNC, in both performance and features (multiple simultaneous sessions comes to mind). VNC does have its strong points, though: it's free, it's cross-platform (VNC from your cell phone via java applet? Yes, please!), and it supports a java client that runs in a web browser (which means you can access your machine from any java-enabled web browser).