Once I have done some programing with one of my friend using Remote Assistance which is built into Windows (Windows XP and newer).
What Remote Assistance offered me is to see my friends desktop the same way as if I would have been there and watchong it on his monitor. And even more it alowed me to actually temorrary take controll of his computer. I could move his mouse cursor, I could type text as if I was typing on his own keyboard. What I couldn't do is hear any sounds that he heard.
So Remote Asisstance actually just streams a video from other computer to yours and sends information about mouse movment and keyboard preses ono that computer. The only drawback is that it doesn't support capturing graphics contents shown on Overlay surfaces. Also it tends to crash on changing the monitor resolution. Also video updates aprox 2 times per second if there is not much utilization on remote computer otherwise it is even slower.

Anywhay it alowed me to find a bug that my friend had in his project and at the same time it alowed me to see how Delphi XE looked and how it is working with it. Without seeing that I would probably still be programing in Delphi 7.

I have seen some programs which offer similar capabilities (even for Mac OS if I remember corectly) but the only drawback of theese programs is the fact that you need to be registered on ther special servers and all information actually goes through that servers so security of information is questionable. Windows Remote Assistance on the other hand uses direct comunication between the two computers.