You don't understand that Blizzard actually has 8 games on Battle.net, not just World of Warcraft, and that the other 7 do have single player story lines.
(Diablo, Diablo 2, Diablo 3, Warcraft 2*, Warcraft 3, StarCraft, and StarCraft 2 are their 7 games that have both Battle.net for online multiplayer as well as some form of single player mode. Only Diablo 3 and StarCraft 2 require an internet connection while playing in single player mode.)
*A re-release of the game, entitled "Battle.net Edition" had Battle.net... the original did not.
As far as why Diablo 3 requires a constant internet connection, even when playing single player: it's to prevent cheating. Because you use the same characters/items both in single player and on Battle.net, it's possible to indirectly cheat online by giving your character some crazy boosts in single player, and then taking him online in multiplayer. What's worse is they have the auction house, where real money is used in transactions. If you were permitted to cheat in single player, you could cause insanely good items to drop on your character, and then go online to the auction house and sell them for sad (stupidly high) amounts of money.
If someone could explain to me why StarCraft 2 requires a constant internet connection though, I'd appreciate that... other than achievements, nothing transfers with you from single player to multiplayer, does it? I don't know about custom games, I only ever play ladder.