1) A setting that everyone can feel involved in and enjoy. Especially for the DM -- if he doesn't find the setting compelling, the game simply will not be compelling no matter what the players do. But it can't just be the DMs playground either, the players have to enjoy the setting as well, and feel invested in it.
2) Some concrete goals. I've seen a lot of games stalled out because folks either didn't know what to do, or couldn't seem to accomplish anything. I guess that along with goals, there needs to be progress towards those goals. It's OK to not let the PCs do whatever they want to, but if you frustrate everything they try to do, eventually the players also just get frustrated with the game.
3) Get everyone on the same page for tone. Nothing worse than a group that's half serious and half silly. Nobody ends up enjoying it much.
4) Don't get bogged down in rules. Either know them really well, or except a certain amount of hand-waving about things. This is more an ingredient of a good game session than of a good campaign, but a campaign is a sum of the game sessions, is it not?
5) A DM that is aware of the players, involving all of them, knows when one is feeling left out or frustrated, when one is hogging attention, etc. so he can address the issues as they come up. You've got to keep your players happy. Ex. My wife's first campaign seemed to be tailor-made for her in terms of theme, tone, setting, etc. and I was very hopeful that it would get her hooked on the hobby. However, the group was very large, my wife ended up feeling her character was fairly ineffectual, one player ended up domineering the action and edging other folks out, and the end result was that the game didn't live up to it's promise and my wife didn't have as much fun as she could have, and she may now be turned off the hobby altogether. I hope I can convince her to try again, with a smaller group at least (maybe even with just me as DM and her as character) and show her the real potential of the game.