LoL offers stylized (aka cartoony) graphics which hold up over time. DOTA 2 features more "realistic" fantasy visuals. If I had subcategories, I would give DOTA 2 the nod for excellent attack/spell animations. LoL would get a bonus for it's cleaner graphical play which makes spectating games easier.
DOTA 2's client is a glorious thing to behold. It is a one stop shop for the digital DOTA 2 consumer featuring games to jump into and spectate, player profiles, news, hero information, and more. LoL's game client is serviceable, but is split from the actual game. It is based on Adobe Air which I've found to be less than reliable. However, Riot Games has continued to improve the LoL client.
The UI of each game is almost the same. Both work equally well. I'm a bit disapointed that neither game has opened their UIs up to modders, but I suspect that is in an attempt to keep UI mods from giving unfair advantages.
While LoL's user interface is perfectly serviceable and almost identical to that of DOTA 2, there are far, far more customizations that can be made to DOTA 2. DOTA 2 player's can save their configurations instead of having to set them by hand each game as is needed in LoL.
Map(s) and Game Types:
LoL offers three different maps with three game types to DOTA 2's single map and game type. One of LoL's maps, The Crystal Scar, offers completely new game play mode with a capture point game type (the other two LoL maps are still Defense of the Ancient (DOTA) ). Some may say DOTA-like games do not need any more maps, but I would strongly disagree with that after having played many games on The Crystal Scar in LoL.
While I like a lot of LoL's hero designs, I can't help but gawk at DOTA 2 for the sheer audacity with which some of the heroes are designed. There is completely broken-in-normal-game heroes in DOTA 2 and it's all part of the design. DOTA 2 features a lot more unique and definitive play mechanics and the attack animations are much better.
At the same time, LoL has a much better grip on balance for the casual player. It is much clearer why a player or team is dominating a match with a certain hero. The hero designs are also much closer to one another making it easier to cross over and play something else.
I think LoL's items are a) simple to understand and b) in the same shop. DOTA 2 may have great items, but its daunting for a casual player to keep track of some of the more intrinsic items. DOTA 2 also has regular and secret shops, with recipes to make items and couriers to bring items from the shops to the players. This all leads to making DOTA 2's items a very frustrating experience at times.
Overall Game Play:
LoL offers more variety than DOTA 2 in regards to game play experiences. The multiple maps are the start, but Riot Games has also pushed to open up all aspects of the game for the majority of their heroes. Jungling is a real possibility with almost any LoL hero these days. LoL also stepped away from some things such as the secret shop and denying, both of which still don't make much sense to me in DOTA 2.
DOTA 2 is still a very, very solid game. It's distinct enough to offer a separate play experience from that of LoL. However, Valve is clearly leaning towards the hardcore players and sticking to the true DOTA experience for DOTA 2.
From a casual perspective, LoL is the better option. From a "complete package" perspective, DOTA 2 has the better shot and it's still in BETA! Interestingly, LoL can fix its "not a complete package" problem where as Valve has all but stated that DOTA 2 isn't going to relent on the design aspects that make it less-than-ideal for casual players.
At the end of the day both games still offer a hell of an experience and both are Free 2 Play. I recommend anyone interested check out both before making a decision on which one to commit to (well that is if you can get into the DOTA 2 beta).