I think a key difference is being missed. Controlling a pure RTS game like Starcraft is very hard. Its extremely stressful to play the base game, there is never any down time in any SC game. You are macro'ing rallying expanding, scouting, microing, dropping. The level of minimap control that SC asks you to accomplish in addition to all the hotkeys, control groups, special abilities. You're talking about a level of multitasking that doesn't exist in other genre's. A ton of people do not want to play a 1v1 game, it stresses them the fuck out. Additionally you can't casually play SC2 with your friends in a 1v1 setting because skill difference will blow the whole thing up. You can queue with any skill friend in dota - and while the games might be wonky, Everyone can still have fun. Starcraft is a great game, its a great esport, but even at the lowest level of skill it is far from casual. Dota and LoL are just controling 1 unit in an RTS world with an inventory. Casual players can enjoy Dota/LoL much like people enjoy recreational team sports leagues. Cooperative gameplay is a huge asset. We play nightly in stacks of players in Dota with varied skill and have a good time, translate those same people into Starcraft and there is very little for us to do cooperatively because 2v2/3v3/4v4 are pretty weak game modes in terms of how Starcraft is designed. People complain about the mechanical control required to last hit, and its nothing compared to SC.
Needless to say that's not suggesting Dota is a simpler game, but because at the end of the day it is just complex in other regions (teamplay, managing the map, etc). But Moba's hit a magical spot where the fun factor manages to exist in the trash tier and the god tier. There is a reason War3 had so many people on Bnet, and it wasn't the RTS game behind the magic it was dota, and tower defense. SCII has no such supportive killer apps.