Heroes of the Storm - More directed to new moba players (or someone that wants something less complicated), you don't have to worry about farming and buying equipment but it's a game that you can't solo win (at least never saw that), it's more directed to team players. Each week they rotate champions and you never feel the need of buying them so that you can "win" games but on the other hand is easier to get bored of playing the same champions over and over again.
League of Legends - In between the other two, requires that you learn the game (meaning champions, items and objectives) but it's doable if you have the patience. They also rotate champions each week but i do feel that in this game you need to have a good pool of champions available to you since there is a counter mechanic in this game, in the early months you will do ok against other players (unless they're smurfs) but eventually you will require to purchase some champions (with in game money). I never felt the need of using real money to buy champions so i'll say that it's ok in that regards, but it can be a bit grindy, especially if you want different rune masteries for different roles.
Dota 2 - I didn't play much so i'm not the better person to talk about it, i've only played for a bit and i didn't play anymore, i was being placed against veterans when i was still learning the game so you can see why. I also didn't feel like learning another moba when i already done my "homework" with LoL, perhaps a new player can fit better in that sense. The positive side is that you don't need to buy any champion, everyone is already unlocked.