^ Dota 2 is free to play, with all 100+ heroes available at the start. Its also made by Valve, one of the best game deveopers in the world.
Frankly, Dota 2 is a better game. As someone who has played this genre of game quite a lot I can tell you that there is much more diversity between the heroes in Dota and many more strategies and techniques you can use to get an advantage over your opponent. It has gone through several hundred patches to get to its current form, which is relatively balanced. I wont go into more detail than that.
However this causes people who aren't familiar with the game to get straight raped by people that know what they are doing, making it a hard game to get into since there is no matchmaking system in dota that puts you against people of your skill level. Its entirely possible that on your first game you will be up against an opponent that has played 1000's of games. You will have no chance.
I think the matchmaking system in LoL that pits new players against other noobs makes it much more appetizing for beginners. Plus some people cant play a game without working towards some type of goal like unlocking characters and costumes and stuff.