Preface: I don't work with crowd sourcing sites such as elance, odesk or similar. I work with direct contact clients and not through some middleman portal. For this reason I have direct contact information with the client, their accounting, etc as they do mine.
I always charge a percentage up front of any new client which I've never worked with before - regardless of how we came in contact with each other.
However, I never charge a deposit or percentage up front for a client I've worked with (successfully) in the past. Previous clients have already proven the ability and willingness to pay. I've never been shorted by a previous client.
The initial, first, project with a client is an exploratory phase for both you and the client. You're protecting yourself by requiring an upfront fee. The client is protecting themselves by not paying everything up front. Once business trust is established - you know they will pay and they know you can complete the work - that extra level of protection is often not needed in my experience.