Is there anything free / cheap that works the same way?
I've been looking for the same thing for a long while now, and I have not found anything in the cheap/free category that does things as seamlessly. GoToAssist is the ideal, as far as I'm concerned, but I wouldn't call it cheap, sadly.
Instead, I've been using a product that's free, but is certainly not as easy for the remote user, which is in turn a challenge for me

The product is called
TeamViewer. I have it installed on my computer, and I put a portable version on my web server under a very short address that's easy to give to clients over the phone. The problem is that it's an exe file, so they get all the usual warnings when downloading it AND running it, so I have to keep telling them to say yes to everything (which is a bad habit to get them into already

).
Once the application is running on both computers, they have to read a couple numbers to you and you're connected.
Like I said, it's far more of a process, and I really dislike that, but I simply can't afford the $660/year for the GoToAssist product, as excellent as it is...