Serious offenders (i.e murderers, child molesterers, terrorists etc): locked up in a remote steel box of a prison, you cant rehabilitate a paedo.
But that punishment is pointless for someone whos crime is basically drug addiction. Rehabilitate them off the drugs and the requirement to steel wont be there.
Other crimes like dangerous driving , fraud, tax evasion, get them tagged and out in the day picking litter, filling pot holes etc. I dont mean pointless community service like sorting clothes in an oxfam, but community service that really benefits the community.
I realise the above sounds very simplistic but hopefully makes sense what im getting at.
Locking up a smack head for 6 weeks in a place where drugs is readily available and sending him back out after 6 weeks, still a smack head, is a complete waste of money and time