There's a certain level of interest that you have to maintain to keep a game running smoothly. The players need to be interested in coming back to your next session (or, if a computer game, firing up the game again).
Some games have this kind of attraction in spades, and some don't. I'm'a gonna use computer game examples, but we'll get back to tabletops.
Oblivion has a pull: even if you actively dislike the game, you'll probably feel the urge to restart it again tomorrow. On the other hand, the recent Final Fantasies don't have this kind of pull. Many people play them for a while, then turn them off and never really feel the urge to go back and play them again - or even reach the end.
This isn't to say these are bad games. In all honesty, I think Oblivion is a pretty bad game, but I still played it for dozens of hours. Bad or good, it's a very addictive game.
Why do some games have so much more "pull"?
Some games eagerly pounce on the player, begging for customization and construction. In Oblivion you can customize your race, your sex, your appearance within your race and gender, your stats, your capabilities, your equipment, your tactics, your alliances... and that's before you get to all the mods that have been produced. I restarted Oblivion so often that I did little tricks to let me skip the "introduction" that they kept forcing you to play through.
In Final Fantasy you can... customize your characters... a little...
Now the interesting part is that it's not simply a feeling of customization - it's a feeling of progress. So, for example, if your game stalls out in the tenth hour (coughOblivioncough) it doesn't really take much for a player to shrug and ditch the character they've spent so much time creating. Chronic restarting is a sign of an addictive start, but a poor follow-through.
The canonical example of perfect construction allowance is World of Warcraft, which evidently never gets old for those inclined to play it.
Let's quickly dissect some basic techniques to make your players want to play your game again. These are viable for all forms of game computer and otherwise, but only if your game actually includes the necessary facets. For example, choosing exactly what to wear doesn't much matter if nobody ever gets a picture of the character.
Choosing races, classes, sexes, personalities, histories, and powers is an incredibly addictive prospect. I've actually run games which were literally nothing other than creating characters, over and over. This kind of technique is extremely popular, and weights your game heavily towards replayability.
Allowing players to dress characters, select options from dialog trees, build houses, get married, choose party members, and so on is extremely powerful and balances replayability and longevity. However, in order to use any of these methods you'll need to have a way to make them matter - a feedback loop is generally the best choice.
How not to do it: in KOTOR, every conversation has the same choices you can respond with, regardless as to whether you're an icon of the light or a blisteringly evil Sith. It does have minor feedback in terms of light and dark points, but that's minor. Similarly, in Morrowind you can dress your character, but all the outfits are bland and have little to no effect on the social aspects of the game.
Putting any of this in a tabletop can be shockingly effective, by the way.
Nearly every RPG allows players to change their statistics. New equipment, learning new skills, leveling up, struggling to keep their HP above zero, using up spells... both short term and long term customization play together and form a fairly strong support system. However, this has little emotional impact, and therefore will wear off rapidly if left unsupported by other methods. Also, it can heavily unbalance the game, especially in the case of multiplayer games.
Secrets of the Universe
Luring the player on with mysteries and secrets is very effective, so long as the secrets are in tune with both the character power level and the player's personal interests. For example, finding out that a particular person murdered some other particular person might not matter at all to the typical adventuring group, but might be incredibly interesting to a more film-noire detective group.
Secrets work even better if each player has a different tidbit of information. Then you get an "information cascade" at some point.
Players who interact on some level other than character-to-character typically are more interested in a game and work better together than players who only interact during game. Of course, not all players are the sorts who can be interacted with, but by and large metagaming really encourages player bonding.
Metagaming, in this case, refers to many things. It could refer to a group of players rehashing something that happened before, or a group of players talking about a particular mystery "out of character". It could be players hanging out for some non-game-related reason, although I guess metagame would probably be the wrong term for that.
The biggest problem most games have is that all these draws have a half life. If you meet with only a few players, or less than once a week, you'll run into the problem that players just aren't jazzed about the upcoming session.
Preplay is simply metagaming with the GM at the head, giving players a few reminders and dropping some hints a few days before the session. This "refreshes" the draws, and the players will be more eager to play than they would have been.
The opposite method is instead of refreshing draws, you can extend the halflife. Using metagame triggers is probably the most effective way to do this: drawings of the cool characters, or linking a song to a bad guy, or a running gag. Anything that a player will clearly remember as being part of the game... even if it wasn't.
I use all these methods. Which do you use?