The problem here is something called politics of felt need. In a nutshell, it's when politicians think that there is a problem that needs to be fixed. In most cases, however, that problem either does not exist or is the product of another problem and in trying to "fix" it all that is happening is a band-aid is being slapped on a gaping wound.
This is all in an attempt by the government to be able to say to the public that they're "tough on crime" or "removing illigal drugs from our streets" or some other claim along the same lines.
Why do they go after these issues instead of the real problems that cause them? It's a hell of a lot easier to restrict or remove people's access to knives, guns and any other potential weapons then to change the attituds of a large number of people. The current govrenment will not be able to force people to see violence as a bad thing, to live with each other without robbing, killing, etc. It will take a absolutist, totalitarian government to do that and I think that's a direction that none of us want to go in.
If you want to learn more about this kind of stuff pick up J.S. Mill's book On Liberty[. It's a political philosophy book, but it's pretty easy to understand and it has some great ideas about when government can and can't get involved in a person's life.