Personally I don't see why DotA is such a major map, except for the fact that it's being updated frequently, there's nothing special about it, and I think another map like EotA could have made it just as far, with some luck.
I used to play DotA very regularly and here are a few reasons I liked DotA:
1. Hero variety - It was really fun with all the different heroes and stuff, each game was never really the same due to the difference heroes.
I say this is one of the major(if not, the main) reason why DotA is very popular, the hero variety.
2. Like you said, it's updated often - DotA is probably one of the longest and most updated custom map on Warcraft 3, if it's not "the' longest/most updated.
It was there since virtually the beginning of Warcraft 3(Eul's version), became the "Allstars" version(Guinsoo/Icefrog version) and is still being updated as of today.
A lot of new content(heroes/items/etc) is added very often which leads to the map staying "fresh" and drawing in more and more players.
Some have argued that DotA takes skill, sure, I can agree that you need to play it a few times before you're good, but it does in no way require more skill then a different type of map, take the WoW Arena for example, it also requires a lot of knowledge, timing, tricks and mindgames to be good.
If anything, I think it's not that DotA "require skills", which makes it popular, it's that "it's easy to pick up and play" which makes it popular.
Comparing DotA to melee Starcraft or melee Warcraft 3, DotA is a lot easier to play(no need for micromanaging, macromanaging, or crazy actions per minutes[like Korean starcraft players have], etc).
Sure there is "denying"
(killing friendly units before they die so the enemy won't get gold) but besides that, DotA is easy to play
(in "public/casual play" that is, organized team competitive play is a different story, I'll talk about it later).
You only need some "knowledge" to play good in public game: Knowing which items to get on which heroes and which abilities to get first and which to get last. These two things can be learned quickly. While the item recipe may seem complicated at first, it becomes fairly simple once you play a few games.
Of course, another important thing to know is to not get hit pointlessly
(i.e. running into a group of enemy creeps at level 1 then dying) and sticking together
(AND not trying to fight all 5 enemy heroes solo, unless you're fed).
Anyway, here's why I say that organized team competitive play is much different than casual "public" play:
In public play - You only need to know which items to get and which abilities to get first to play good in public play.
And, of course, you need to know how to play Warcraft 3 also.
(I actually encountered a few players who introduced a friend STRAIGHT to DotA, skipping "any RTS"[they never played an RTS before until WC3/DotA]).
What matters more in public play is
not "how much you can deny" or "how fast you can click",
what matters more in public matches is "which team has the most leavers/feeders/trash talkers/stackers".
In most cases, what defines which team wins is simply which team has horrible or uncooperative players OR which team has a "stack" of players
(i.e. a bunch of friends who all know how to play DotA, all join the same team vs random people).
In organized competitive play - This is where the "skill" is needed in DotA because there is less "luck" involved like in public games, where luck plays a huge role in whether you win or lose(luck, i.e., which team has the good players, which team has the bad players, which team has leavers, etc).
The main skill in DotA is team work skill
(I say "team work" broadly, to mean a lot of things that have to do with "team" skills and not "solo" skills). Denying and clicking are secondary(because they're very easy compared to the former). I could further explain but I think it's more easier to understand if I say clan(team) vs clan(team) matches require skill(to win) while simply playing in public matches does not require much skill(to win, as in most cases, teams win or lose because they have bad players).
I think the BIG problem of dota is that it is really hard to learn...
When you join a dota game online and you are a newby then EVERYBODY will tell you how bad you are and that you shall leave and that your are a complet noob...
So it's veeerrry difficult to learn it...
DotA isn't hard to learn unless you never played a "real time strategy" game ever before
(i.e., you skipped Warcraft 3's tutorial on how to play, and you never played an RTS ever before). I've actually met a few players who invited a friend to play DotA, except that person never played an actual RTS before, so they didn't exactly learned things fast.
The item recipes may seem complicated but it's very simple to understand(it should only take a few minutes to understand how to combine items if you read the descriptions of things).
When you join a dota game online and you are a newby then EVERYBODY will tell you how bad you are and that you shall leave and that your are a complet noob...
Four tips:
1. If you die often, "tower hug" or simply stay far away but still in exp gain range. Switch lanes with an ally if you're having trouble against a hero.
2. There are a lot of jerks in games who may say you're not "playing correctly", regardless if the person is some veteran at DotA or not. For example, sometimes a person that died from their "own fault" may blame you or someone else because you were the one near them.
Example - So you're laning with an ally. The ally decides to do something without telling you, running into the large enemy army to try to kill the enemy hero.
You notice this, so you do everything you can (use your abilities, attack, etc). The ally dies, they then blame you.
This will happen often. Just remember that there are jerks in the game and it's a very unfriendly environment so you have to learn to deal with it(mute them, ignore them, don't argue with them, just ignore them or something).
3. Read - Abilities and items have very helpful descriptions of what they do.
Don't assume what the ability does by simply looking at the icon. Yes, I've ran into players who did not read what the abilities did, which is why I'm pointing this out.
Also, same thing for items. Some new players might get a recipe thinking it's the whole item but failing to actually read that it's simply a recipe and not the whole item.
4. Stick together - Going out into enemy territory alone is usually a bad idea unless you "know"(AKA, you're fed) you can take all 5 enemy heroes at the same time(as well a horde of creeps).