For free the answer is pretty easy. I use LogMeIn. They seem to be the rulers of the free space these days. They have free "remote support" services alla GoToAssist, as well as another service that's just like GoToMyPC. I use the former when GoToAssist breaks down for me (it's by far still the easiest way for me to remote control my clients' computers). I use the latter to remote my own computer, as well as my mother's/mother-in-law's and any other machine I need unattended access to (though GoToAssist has this too to an extent).

VNC is great, but I've never had a lot of luck with it. I'd rather not deal with port forwarding and all that crap. Even when I've had it set up correctly (or at least thought so), I've never gotten it to work that well, and the LogMeIn stuff is free anyway, so what the heck?

Oh, and LogMeIn offers a pretty nice free VPN service too.
_________________________
Matt