For remote desktop purposes, I'd consider:
*
ARD*
TeamViewerARD is probably overkill if you only have one remote machine to control, and it won't handle firewall traversal for you. But, there are no nag screens and it is well supported by Apple with regular updates as soon as new OS versions come out. That's what we use at work (we support hundreds of Macs) and it generally works pretty well. You can push software to machines, run remote terminal commands, and all sorts of nifty stuff.
TeamViewer is free for personal use (though it does leave nag screens open on the machines after you disconnect). I use TeamViewer a lot at home, and it performs extremely well (often fast enough to play video, actually) and it is fully encrypted (which can't be said of most other solutions). It also handles firewall traversal for you so you can control your system from outside your LAN (performance is much lower then, of course).