I've written a few RPG adventures in my day. I don't claim to be good at it, but if nothing else I've learned what doesn't work. Sometimes, I would probably have been better off just writing the damn thing based on the lyrics of random songs, since it can't be much worse than some of the shit I'm about to share with you.
From my experience, here are five things that just do not work to end your adventure:
1 - Too many threats/villains/monsters
I don't mean like fighting against a hoard of zombies. Fighting a hoard of zombies is cool. What sucks is fighting the boss, his two bodyguards, his pet hellhound, his wizard adviser, his ninja daughter and a half-dozen thugs. This complaint is directed primarily at D&D 4E: Just because the XP Pool says this encounter should work, doesn't mean that it will. Adding more baddies does not make an encounter more epic, it just makes it longer. There are already so many special abilities, effects, auras, etc. for a DM to track, adding more templates just slows everything down to a crawl. If the players are nodding off, reading comic books, or checking their email, you are doing something wrong.
2 - Too much flavour text
Flavour text is great if used properly. It provides clues and information, and sets the scene. Even at the end of the adventure, a little summary and recap of the heroes' successes and a description of the villain writhing in agony is a great boost to the players' ego. Unfortunately, some writers/DMs use this as an excuse to read you bits of their unpublished (read: rejected) novels.
To be honest, I tend to be too light on flavour text, but I've seen this done so poorly I had to add it to the list. In one of my first Living Forgotten Realms modules, we defeated the final encounter and the DM began reading the "aftermath" text. I expected a short summary to bring everything all together. But he kept reading. And reading. And reading. The flavour text was three frickin' pages long! It was pure masturbatory bullshit, and the DM just sat there and grimly read it while the players stared at him with eyes glazed over (or in my case, packing my bag and heading for the door).
Flavour text is like a boombox. Know your limits, and respect the power.
3 - Make the players watch while someone else does something cool
The heroes have spent weeks or months of game time protecting the magical princess who can save the world. She's the only one who can cast the spell to defeat the dark lord. Finally, after months of listening to the little diva whine, the heroes fight their way through the Big Bad's fortress, slay the guardians, evade the traps, and put the villain on the ropes. Then they sit back while the princess does her thing. She probably has a conversation with the bad guy, blaming him for killing her father, and kicking her dog, or whatever, which is basically the GM just having a conversation with himself. All this while the players just watch and twiddle their thumbs.
At best, this turns into Too Much Flavour Text (see above). At worse, you're making the players sit back while cool stuff happens without them. Sure, it makes sense in a fantasy novel, but at the game table is just doesn't fly. The players have worked long and hard for this payoff. Let them stab the fucker in the throat.
(I mean the bad guy, not the princess. Though some people might stab the princess, too.)
I will admit, I have been seriously guilty of this one , especially when I first started game mastering. It's falling into the trap of writing a story, and the players are just along for the ride. The players should be pushing the story, and you're just there to describe what happens when they do something stupid.
4 - Rush the ending
We've all been there. You're playing and you're getting close to the climax, and suddenly you realize that you're running overtime. Should you stop and pick up where you left off next week? Or plow through and go late?
Most people choose the second answer, which 99% of the time is wrong. While some people live for gaming, other people have lives outside of gaming, and if they were supposed to be finished by four o'clock, then that's probably because they had somewhere else to be. By pushing through, you not only make that person late and piss them off (unless they simply get up and leave, which is awkward for everyone at the table), but you're hurting the experience for everyone involved. If you're rushing, you're going to forget things, going to skim over important parts (gotta fit that flavour text in!) and ruin what should be the best part of your game: the ending. Your players deserve a kick-ass finish to their story. Take your time and savor it, let the heroes get their licks in and feel like heroes. Saying, "Um, okay, he's dead, um, and he runs away... ah you miss... no... you know what? You hit, he's dead, too. The princess comes out and says thank you for saving her. Oh, by the way can I get a ride?" is so not cool.
Unless you have a really good reason to, and everyone is in complete agreement, I strongly believe that it's better to end your session on the brink of the final encounter/battle/whatever, and pick it up next time. If you play your cards right your players will be left salivating for the final installment (anyone check out the new Harry Potter trailers?) and you can take your time clearing up loose ends when you meet again.
5 - Not actually ending the adventure
I recently ended a story-arc in my D&D campaign where my players rescued a baby from a crazy singing elf in a maze full of goblins in an other-worldly dream realm (sound familiar?) This was going to be the end of a long-running campaign as we were moving on to try a new game. The PCs returned home, and replaced the baby quietly in his cradle, and I wanted to end it peacefully like that. My players would have none of it. They insisted they wanted more, that they wanted to put the baby into the hands of his parents, that they wanted some recognition for their success, etc. So, I resorted to my original "ending," (from when I thought the campaign was going to continue), and told them about how while they were gone, the child's grandfather declared war on the neighbouring orc and goblin nations, thinking they were behind the kidnapping (they weren't), and that the child's parents and several of the PCs allies had gone off on a quest into the heart of the orc lands to try and rescue the kid. So now the PCs were going to have rescue them, too.
Except they weren't, because I already told them we were starting new campaign with a new game the next week. It didn't go over well.
Give your players an ending. Leaving a loose end or a potential hook for another day is okay, but for god's sake give them some sort of closure. Let them marry the princess, or have the peasants cheer them on a procession through town, give them a mound of gold, anything. They invested a lot into this game, just like you did, and deserve some kind of payoff.
We can all learn from our mistakes, as well as the mistakes of others. Please share anything that hasn't worked for you, from any part of your adventure. Maybe if we all put our heads together we can craft one perfect, ideal adventure module. Or, at the very least, write a few dozen that are a little bit less sucky.