I stumbled on a player hook while DM'ing Neverwinter Nights. Since I can control the game as it is in-progress, I have the ability to cater exactly to the players' every interest as it arises.
What I've found, is that the best way to get players involved, is to listen to what they want and give it to them.
Is this any surprise? No.
But it does take effort, and consideration. The more the players feel like I am acknowledging their role-play efforts, and doing something specifically for each one of them, the better they seem to respond.
The real trick is doing this in a single player game. How do you cater to a player that you've never met, and give them exactly what they want? My guess would be simply to provide a wide range of options and opportunities. WoW is successful with sooo many players, because it offers sooo many different options, each designed for different types of players.