In professional play for DOTA, games tend to end around the 25-30min mark, though some games do go for 40 minutes. I think the record was almost an hour and 40 minutes. Sometimes the game is basically decided at the 10 minute mark...and those games tend to end about 10 minutes later. Comebacks happen, of course. Some strategies are built around losing the early game and winning the "late" game (which begins at around the 22-25min mark for professional games). In pub games the games go on longer, but there's a lot more of a swing factor because teams are worse at pushing an advantage. It seems like a decent balance for me. Early game matters enough that it's worth working hard to get an advantage, but comebacks are possible if you didn't get your ass kicked too hard. I still wish DotA would introduce the surrender feature that LoL has.
With regards to complexity...by definition increased complexity does equal increased skill. Skill is defined as, "the ability, coming from one's knowledge, practice, aptitude, etc., to do something well" (dictionary.com) or "the learned ability to carry out a task with pre-determined results often within a given amount of time, energy, or both" (Wikipedia).
If you take the goal of a MOBA (destroy the enemy Nexus/Ancient/Whatever) as the purpose of the game, then it logically follows that the game that requires more player abilities in order to accomplish this goal requires more skill, or at least more skills. For example, LoL requires fewer skills than DOTA because various mechanics (denying, pulling, courier management, reliable/unreliable gold, high ground miss chance, etc) have been removed and their replacements (more skillshots, more opportunities to cast spells) don't add as much complexity.
More than that though, it's the philosophy of the developers. Riot wants their game to be fun, and that's one of the reasons that you have such massive changes to the game every season. Valve wants their game to be balanced, and after a hero receives any sort of substantial rework, the hero is removed from competitive mode for a month (or more). Neither approach is better or worse. They just tend to result in different types of games, and it has very little to do with whether or not a game is fun or enjoyable.
I've played some LoL. I had more fun than I did my first few games of DotA. Honestly, if my RL friends didn't play DOTA I'd probably be playing LoL with the TFFers. I had fun playing some DOTA with violinmana, but then he went back to LoL and I never saw him again D: