Seems like not many choices... But who needs many choices if it works well? In the Windows world the choices seem to never end.
VNC is the old tried and true. It is great over LAN, ok over fast WAN connections, but seems to leave something to be desired over typical internet connections. The speed just isn't stellar. Worse, if you want to share YOUR existing desktop on Linux, it affects your video performance. It is universal though, I can connect to my mum (secure over ssh tunneling of course) and fix things on her XP machine.
NX... what great promise it has and has had and had and had. It does what people thought was impossible - it speeds up remote X sessions to almost local speed. The commercial server starts at $800. But no fear, there are open source servers that use the NX libraries.
The problem is the free NX client (nxclient) is pretty much the only offering out there to view a remote session. It comes in Windows, Mac, Linux, and other flavors. It works quite well in many cases except this one: attach to a shared local desktop (or shadow session) with the client on a modern Linux distribution. If you do this - the keyboard is all messed up. An up-arrow causes a PrintScreen button to be pushed and so on.
So... if you are ok with mouse / keyboard input turned off - I guess it will work ok. Our options are slim, so that's the way we will be using it. Sure would be nice though if a Linux user could see my Linux desktop and interact with it as well as a Windows or Mac user could!
If we were "real men", we'd take the open source NX libraries and put our own working NX Client together ourselves. Which, if we have slow times, I'm sure that will be discussed.