I'll rule "a good DM out" as it is a trivial and non-informational answer.
1) Good players. The players need to be involved in the campaign and have a good sense for the GM and the campaign's style.
2) Motivation. The players/PCs have to have a good reason to be involved or it is simply not beleivable. Further, the game needs to involve the players in an emotionally intense manner.
3) Flexibility. Players can and will do anything. You make one path to the goal, then your campaign is no better than a novel (and as most DMs are not novelists, likely far worse.) Design your campaign so there are multiple paths to the ending, different possible outcomes, and so forth.
4) Variety. Role playing campaign frequently rehash well tried formulas. Though there is good reason for this, players become jaded by the same forumula. See where you can go off the beaten path and be different from the last game.
5) Flavor/Depth. Make the illusion that the campaign is real. Events should have logical consequences, and NPCs should have logical motivations. And like the real world, there is a menagarie of connection that don't appear to the naked eye. Make sure these details are interesting and beleivable.
I desperately want to stuff "mystery" in here, but it sort of falls under "depth" and "motivation." Tantalize the players. Let them uncover things, leave nagging questions in their minds.