I should also point out that I used to play a lot of the first DotA back in the day, and it really sounds like DotA 2 worked hard to be faithful to the old game, for better or for worse.
At any rate, here are three comparison webpages that seem to be only moderately biased in attempting to compare the two games...
The general gist I'm getting is that DotA 2 is more 'hardcore'. League of Legends was designed to be a more forgiving take on DotA and that design decision plays out in quite a few ways...
- DotA 2 has creep denying. This means you're allowed to kill your own minions to decrease the gold and experience earned by the other team. Having this feature gives 'good' players access to another tool they can use to beat their opponent. This is great when you're the better player, and frustrating when you're the worse player. It makes things more complicated and opens up extra edges to exploit. LoL, on the other hand, does not. You can't impact your own creeps in any negative way. You can heal or buff them to make them better if you want, but you can't make them worse.
- DotA 2 has harsher death penalties. When you die you lose some gold and have a timer before you can respawn. LoL has the death timer, but you don't lose gold. As such you can always feel like you're making progress in LoL even if you only make a little money between deaths as you can save that up to buy items. Dying over and over is pretty much game over in either game, but in LoL you can still pretend you're doing things. In DotA 2 you're just blown out.
- League of Legends has a higher level of ambient gold income. Again like above, this means someone who's doing poorly can still make money and buy items. And likely still lose.
- DotA 2 has a larger and more complicated map. The jungle between lanes is more complicated and you can buy items or use skills to chop through trees to make your own paths if you want. DotA 2 has meaningful terrain height where having high ground gives you substantial advantages. (25% chance for attacks from low ground to miss, no line of sight going up the cliff but you can see down.) League of Legends has bushes you can hide in where you're invisible unless you attack out or the other team walks in.
- DotA 2 has a wider range of available champion archetypes. They seem to have gone for cool and powerful and it's apparently pretty easy to find a 'hard counter' to an opposing champion. League of Legends went for more streamlined types of champions and has tried to do a better job of balancing them out. As such, someone who puts in the effort to learn all ~100 champions and who counters who will be in a much stronger position in DotA 2 than the comparable person would be in LoL.
- DotA 2 gives you access to every champion right from the start. League of Legends lets you play 10 of the ~100 champions for free and requires you to earn the rest through playing the game or paying cash. The 10 free champions rotate each week. On the one hand this restricts your options and some people have a big problem with that. On the other hand it makes learning the game significantly easier, I think, since it means your early opponents will likely also only have the same 10 champions to choose from.
- League of Legends made a big deal of differentiating champions from minions and such in the UI. This is the sort of thing that makes it easier to pick up a game from scratch but once you're an expert I can't imagine it matters as much.
- In DotA 2 your barracks don't respawn. If your opponents get off one good push and take one out they're at a permanent advantage for the rest of the game. In LoL the inhibitors eventually respawn so if you manage to defend for a while you can make a comeback.
- DotA 2 has a higher level cap and it sounds like they have more expensive item builds relative to gold income. In LoL it's possible to be behind, but then have your opponents run into a level or gear cap which lets you catch up. That doesn't seem to be a thing in DotA 2.
- League of Legends gives you a little recap when you die, showing you what enemies hit you, what they hit you with, and some generic tips for how to handle the guy who killed you going forward. DotA 2 doesn't seem to try to help you out at all. It does let you click on other champions and read their abilities, though, which is nice.
- League of Legends uses obviously colour coded faces on the mini-map so you know who's nearby. DotA 2 uses obscure colours (derived from the WC3 client) and no faces.
In terms of business model they both seem pretty similar. For the most part you just pay money for shiny, non-gameplay upgrades. LoL does let you spend extra money to replace the in-game currency you earn for just playing which most people use to get more champions. I'm not really sure why, but there seems to be a barter system in DotA 2 where you can trade cosmetic stuff back and forth. I gather it's a business model that works for Team Fortress 2 but I don't know anything about it. It reminded me of the old Magic Online trade room so I had to close it fast lest I lose what little sanity I have left. Also apparently
It's also worth noting that LoL is an actual released game and DotA 2 is still in beta. In the short term this tends to mean LoL is going to have more polish and it certainly has a more established player base. Both games have frequent updates with new champions, balance fixes, and game modes coming in all the time. DotA 2 apparently has a mode where you can only play one of your least played champions which sounds like an interesting twist! Also, you apparently need a beta key to play DotA 2. Robb gave me one, but I don't know how that helps anyone else!
From everything I've been reading it seems the really hardcore gamers prefer DotA 2. There are more ways to get a lead and it's easier to snowball that lead into a win. LoL has more catchup mechanisms which makes comebacks more likely. People who are newer to the genre, or who don't play as often, or who like 3v3 games instead of 5v5 games are more apt to prefer LoL.
I tried playing a game of DotA 2 and the graphics seemed significantly worse than LoL's. They also don't seem to have been built for a wide screen monitor. The zoom in was weird, and the controls were off. Everything seemed jerky compared to how smooth LoL is. Now I'm sure I would get used to the controls in time, and eventually I'd learn to mentally map colours to champions in every game so I'd know who is who. But that's one more thing you have to keep track of. Which, I guess, is why DotA 2 is more hardcore. Layer upon layer of things that need you to pay attention to them or you'll screw up.
Now, I'm pretty good at games in general, and I was a master denier back in the original DotA, so it feels like DotA 2 should be my kind of game. But I don't think denying is actually good for the game. I might be good at it, but I think it's a frustrating mechanic. I don't like games that snowball out of control. DotA 2 also has a bigger emphasis on crowd control. I'd say I went from full to dead without being able to hit my brutally powerful ult in 75% of the team fights in the game I played. But in those other fights, where they CCed out someone else on my team and I got to hit my ult? Game over, we won.
Here's the thing... I think League of Legends is actually pretty complicated as it is. Compared to DotA 2 it's pretty simple, and I can see why people who have a ton of time into these sorts of things would want the more hardcore version. It's good that it exists. But I don't think it's for me.