I think the key factor is immersion - a game has to create an alternate environment from your everyday world that you want to immerse yourself in. What factors are most important for creating that will, of course, differ by game and player.
For instance...
In Dreamfall: The Longest Journey, the storytelling was excellent. The puzzles were far too easy and the combat system sucked - but damn, you cared about the characters and their world. It wasn't about winning; it was about finding out what was going to happen.
In contrast, I find the world and storyline of Diablo 2 bland. But I was hooked, because of the gameplay and the social aspects. I always found the D2 combat system really satisfying, and the game constantly rewards you with better items, XP, etc. And then when I branched into multiplayer, I found I had a (virtual) space to hang out and do something fun with people from all over the world. I got to keep up with old friends (and for a time, family) when we physically moved away, and made some amazing new friends out of it.
In the Fallout series, it's an incredible fictional world combined with a wide range of choices that result in a wide range of consequences. Any RPG lets you create your own character, but how many of them have NPCs treat you so differently depending on those choices, with entirely different quests/story threads possible?
And then there are simple games like Tetris or Metro Siberia, which hold your attention just enough to be engaging but also kind of let you shut off. To me, these games are like meditation; they're mind-clearing, they offer a break.