IMHO, good modules present a situation rather than a plot, and allow the players to devise a plan to deal with it. This is not to say that NPCs cannot have plots and timelines; it is to say that the whole thing does not follow a storyline where the PCs must X at Y at time Z, and where the encounters must occur in a set manner and/or order.
For what it's worth, IMHO, a good adventure is not a story or a series of encounters. It is a setting or a situation that naturally spawns good stories and encounters. If the encounter must occur as the designer envisions it, well, it leaves the GM in a hard position. Does the GM constrain player action so as to perseve the encounters as written, or does the GM rewrite the encounters on the fly?
Some other points I agree with:
A good module has little to no railroading, with the possible exception of the "hook".
A good module has colorful NPCs with interesting personalities and Interesting dialogue suggestions.
A good module has opponents with resonable desires and motives... IE, outnumbered goblins don't pick fights with well armed adventurers. A pack of hyeneas with a fresh kill doesn't abandon the kill to chase after adventurers.
A good module is relatively free of spelling and grammer errors, has reasonably correct stat blocks for opponents, and is a pleasure to read.
A good module should never have the characters bystanders while major NPCs perform the real heroic actions,
unless the characters, through their own inaction, have made it so. And, if this does happen, it should in no way be certain that the NPCs will not die horribly for their pains!
Ethical problems for me are fun, but not mandatory.
In a good module, the maps are clear, correctly labeled, and have no problems like unreachable rooms or missing stairways.
Player handouts, artwork (evocative over beautiful, FWIW, and useful over evocative), and counters (for some games) are extras. I can take them or leave them.
a good module should be modular. You should be able to use any module in any (relatively typical) campaign with minimal effort. You should be able to modify it quickly and easily. Finally, it should *not* leave a crater in your campaign world if things go horribly awry.
Extra points if it is easy to run at the table.
Encounters that make sense. No griffins in a 10x10 room on the 9th level of the dungeon.
1. Interesting and "realistic" story (no villains who don't make sense doing what they are doing).
2. Encounters with more than one outcome.
And, may I add, encounters with more than one way to start! I.e., no encounter where the troll must be standing at Location A, no matter what the players do, no matter how long they wait, no matter how they try to lure him out.
This alone is a strike against many, many recent modules! (IMHO, of course.)
3. A couple of red herrings
4. Scaling side bar
(for systems that require a scaling side bar, anyway. The flatter the power curve, the less you need a scaling side bar.
5. New magic items and monsters section
6. Adventure seeds and recommendations for further developing the module.
7. A "what to do next" section.
8. Random encounter tables.
RC