I play WoW a lot because I think it's fun, and it's an amazing entertainment deal at $16 per month, for all of the hours I spend at it. I have friends who live nearby, and we hang out in person, and we also hang out in the game doing stuff together.
What is the essence of designing a game that is addiction-based? Replay value and a desire in the player to be an achiever. With a subscription-based game, you have to keep people playing and wanting to play, to keep their account active. You also need to provide ample opportunities for someone to achieve something, and then keep further achievements available to them to accomplish. My friend who has 2 kids didn't have the time to level from 70 to 80, so he stopped playing WoW because the rewards and achievements weren't catered well enough to make him feel rewarded for his time.
World of Warcraft literally inserted an Achievement system in the game - for example, if you complete a dungeon, you get an achievement stating that you completed it. When this system was released, although there were no specific awards for some achievements, a LOT of players just started accomplishing these achievements because it was just "something to do." People like to feel like they accomplished something, and this achievement system gave them that chance.
Expansive content, the ability to set new goals at any time and accomplish them, sliding reward systems that are consistently extended to make you want to seek them out (but tantalizingly close enough to actually achieve them without too much frustration), these just a couple of things that will keep a subscription going and make a game addicting.