The biggest may be that most local police departments are funded largely by the seizure of assets from minor drug offenders and innocents who they can get away with accusing of drugs.
Other vested interests are the large number of government employees and private companies who benefit from the drug war, from drug detection to prisons.
There are also political issues. Marijuana legalization is opposed by many swing voters, and neither party can afford to lose those. Leaving matters up to states allows states where the majority favors continued criminal prosecution of marijuana offenses to do as they wish. This is actually the way it should be constitutionally.
I'm actually not sure how the federal government has the constitutional authority to enforce drug laws against the wishes of a state. If anyone can point me to a precedent, that would be helpful. The federal government has no authority to enforce laws against most crimes that occur entirely within a state's borders unless they violate international treaties.
EDIT: It appears the authority was challenged and affirmed in Gonzales v Raich case, though I think the opinion is in error as it grants the federal government complete authority to regulate local activity, an opinion which the Constitution was written to prevent. Congress is limited to the power "to regulate Commerce with foreign Nations, and among the several States".