Understanding, understanding, and more understanding.
All addicts are addicts because they are misunderstood. There is always an underlying reason to every addiction. Taking whatever the addiction away NEVER EVER solves the problem. The word therapy comes from Socrates (therapuein) and he told his students that in order to help others, you have to get down to their level so that you can understand them, and from there help them understand themselves.
An addiction has got very little to do with biology. Smokers blame it on the nicotine, drug addicts blame it on the narcotics, but what if a person is addicted to sex? What is there to blame? All addiction comes from a longing for pleasure, and a clinging on to it. This can be altered with a correct understanding. You have to make them understand that pain and pleasure are part of life and they will come can go, nothing is permanent, and thus clinging on to it (or averting it) is utterly pointless.
I've seen people coming out of rehabilitation centers only to get sent back into it. I've seen prisoners coming out of prison only to commit the same crime and get sent back.
Why?
Because they lack understanding. Help them understand themselves. The symptoms of a drug addict are many, but the common symptom of any addict is just one, feeling utterly miserable. Because if they are not miserable, there wouldn't be a need to rely on a substance to give them pleasure. Help them understand just how miserable they are, otherwise they will keep thinking that being an addict is the happy way of life.
Ultimately, the choice lie in their hands. Do not force them, it takes time. Do not look down on them either, today's drug addict can be tomorrow's healer. :)
good luck.