VNC: the Universal Remote Control
Most of the tools that enable you to remotely control a Mac are vendor-specific: To use them, you need to have matched software components--from Apple or some other single source--at both ends of the remote connection. But there's another remote-access solution--VNC (Virtual Network Computer)--that's more flexible.
Because VNC relies on a standard protocol, you can use it to make connections between any of a number of products from different software makers and open-source projects. While these different products might have a variety of different features, they share the core ability to control and view a remote machine.
Also, VNC is available for virtually (sorry) every operating system. In other words, you can use it to connect to or from nearly any computer platform. Mac OS X has built-in support for VNC; its Screen Sharing service is built on, and compatible with, VNC. And some VNC clients can handle Apple Remote Desktop (ARD) connections.
VNC has the added bonus of being available for iOS devices. There are several VNC apps that let you access and control a remote Mac from your iPhone, iPod Touch, or iPad, including iTeleport: Jaadu VNC and Mocha VNC.
But VNC's flexibility comes at a cost: In its most basic form, it lacks many of the connection features you get from other remote access tools. For example, it can't by itself get around NAT gateways protecting your local network; you need to configure port-mapping (manually or using a utility) on your router for the connection to get through. Even then, your router must have a public IP address.
VNC also doesn't include encryption in its core feature set; some clients add that and other security tools as an overlay, but others don't. It has no built-in file-transfer tools nor does it support multiple monitors. VNC clients that work with ARD can handle multiple monitors. Those that can't display only the primary monitor (the one that has the system menu bar on it).
To enable VNC on a Mac, you can either turn on the support for it that's built into OS X or install a free third-party VNC server.
To turn on the VNC service in Leopard or Snow Leopard, start by launching System Preferences. Select the Sharing preference pane and make sure the box next to Screen Sharing is checked. Select Screen Sharing and click on Computer Settings. Check the VNC Viewers May Control Screen With Password box and enter a password.
You should limit that password to eight characters, for the sake of compatibility. Such short passwords can be cracked, however, so you'll need to manually implement some security measures: in the Sharing preference pane's Remote Login service, put a check next to Enable SSH Access.
Third-party VNC products can be more configurable and more secure than OS X. For example, you can install a free VNC server such as TestPlant's Vine Server. (Note that version 3.11 is Snow Leopard compatible; the Vine Server information page that says its compatible with 10.5 only is out of date.)
After downloading and installing Vine Server, you can set all kinds of configuration options. Among them: You can force Vine Server to require an SSH connection. (I'd recommend you do so). It Vine Server can also let you connect to multiple computers behind a single NAT gateway.
To connect to a computer that's providing remote access via VNC, you can use OS X's own Screen Sharing program, which works with VNC servers on any platform. Or you can opt for third-party options like the wackily named but superb JollysFastVNC ($40), or Vine Viewer ($35, in a bundle with Vine Server).
To make a VNC connection with one of these third-party products, you launch the program, then enter the IP address or host name of the computer you want to reach; you can optionally specify the port for a network in which multiple computers are being shared via a single IP address.
In JollysFastVNC you can create profiles for different connections, and you can set a number of options (such as using SSH) for each one. Doing so isn't always obvious: To implement SSH, for example, you have to type -l username in the SSH Options field, where username is the OS X short name for the machine to which you are connecting.
While a lot can go wrong with VNC connections, the most common problem is improperly configured routers and ports. Typically, port 5900 has to be remotely reachable at a public IP address for VNC to work.
The bottom line is that, if you're willing to do the set up, VNC is one of the most flexible remote-control options out there.