Hello, I'm the Product Manager for the oDesk Team app. Let me give you a bit more information.
In order to work on oDesk and get paid hourly, you need to use the oDesk Team app. The team app takes random snapshots of your desktop with the active window title, an associated memo and activity. The activity is the number of keyboard and mouse events per minute since the last snapshot. It does not record what was typed or clicked, just how much. With a snapshot it also saves the date, company, userid, snapshot status, computer name, UID, app version, and task code. That is all that is saved.
When you work with the oDesk Team app running, you know that you are guaranteed to get paid for the work you do. (As long as it's appropriate for the job.) It's really a way to help establish trust between the employer and contractor when they may be working in different parts of the world and have likely never met.
It's true that any desktop app could be malicious. But if we were to do something unethical you can bet the contractors would make it known and it would be damaging to our business. We started off with a high tech developer base and you know they are monitoring their own traffic, system use, etc. We have thousands of IT contractors are using it.
Some contractors need to consider their level of comfort with a job like this. If it does not fit their style then they can do fixed priced jobs. Note, that there are many software apps out there for companies to use that track actual activity, sites visited, more screen shots, etc. So while the oDesk Team app does "monitor" work, it's not nearly as extensive as other apps out there being used by companies.