It has been proven time and again that creating harsher sentences (longer prison terms, higher fines, etc.) and stating that there will be zero tolerance for breaking the law doesn't work on any criminal. It works on normal people because they are not predisposed to criminal thought patterns and behaviors.
Those predisposed to criminal thought patterns all have two thoughts in common just before they commit their crime of choice. The first is that they believe they won't get caught, thus they are not afraid of facing punishment and don't concern themselves with zero tolerence. The other is that they give themselves permission to go ahead and commit the crime. Since these two thoughts are what MUST happen before a criminal actually commits the crime, the issue isn't whether or not harsher sentences and zero tolerance work but, rather, how do we get people to understand that they WILL be caught and how do we prevent them from giving themselves permission to commit the crime in the first place.
Second, rehabilitation has nothing to do with zero tolerance. Rehabilitation is dealt with only AFTER the criminal has been caught, found guilty then punished. Rehabilitation is the method of helping the offender understand why they committed the crime, develop a sense of empathy and morality and cognitive based programming which teaches them to recognize their thinking patterns thus allowing them to bring those patterns in to alignment with what society considers acceptable.
In the United States, today, we do not rehabilitate. That is a method which we have found to be unacceptable to us. We prefer the method of punish, punish, punish and when you are done punishing, punish some more. This serves the general public in two ways. First, it allows them to believe that something is actually being done about crime. Second, it helps people feel morally superior to a group of second class citizens by keeping their boot on the neck of the offender for the remainder of their lives. Even though we know that the punish method does not work and only serves to create higher recidivism rates amongst most criminals, we continue to do it anyway. This is why we continue to have to build more and more prisons.
Zero tolerance laws enable law enforcement officers to cast a much wider dragnet, and they punish seasoned criminals with the same degree of severity as they do first-time offenders. A zero tolerance policy is lazy because it ignores mitigating circumstances (like youth, stupidity, mistakes), and treats all offenders of a specific category as unforgivable criminals. The increased severity that comes with these laws leads to the punishment of innocent people.