There are a number of screencasting utilities out there. Some are free, but for these I'd say there are better options to be had for ~$20 and the added features and quality are worth the minimal cost.
A few options:
Camtasia Studio (for years for PCs, now also for the Mac) is the leader for depth and sophistication. There's a sizable community built up around Camtasia. But having the right tool doesn't mean you'll get the results you want. Screencasting is a learned skill.
One new resource you should check out is Ian Ozsvald - Ian's "day job" is creating screencasts for companies. That may be out of your budget. But his Screencasting Handbook at http://TheScreencastingHandbook.com is currently free. Grab it.
I made this video using iShowU and iMovie on a Mac. I was very impressed with how easy iShowU was and would recommend it to anyone.
Another tip: Use a decent microphone, like one on a headset.
Finally, set aside a looong block of time. Ours was a ten minute video and it took me about 6 hours to get everything right. It will be faster next time, but there's a lot of stumbling in the beginning.
We use Camtasia Studio but if you use gotomeeting while giving a demo you can record the session and use it. Kind of doing two things at once.
I have to second Abhi's recommendation: Wink is the way to go.
If you're on Snow Leopard, the QuickTime Player application (included in the system) can record the screen. iMovie lets you assemble different recordings with transitions and voiceover.