One of the big reasons it will take a long time to legalize weed is because of all the people who will be out of work. All the guards who wont be needed at our prisons when the inmate population plummets. The construction companies who will lose work when they aren't called upon to build new prisons. All the cops who won't be needed for drug enforcement.(of course there are always other drugs to enforce laws against but some cops will surely become unneeded.) And those people in the legal field who won't be needed to file papers, defend people in court, etc.
Now I realize that legalizing weed wil also create a staggering number of jobs, but remember that most people hate change so regardless of personal polotics those people who stand to lose their jobs will fight legalization, possibly just so they won't have to find a new job.
I'm not proposing a solution, just giving everyone something to think about, as this is a problem that will need to adressed when we make our move to legalize.