Most people don't give a **** what label you put on it ("p2p", "partial p2p", "client-server", etc), all they care about is that it works.
Whatever Warcraft 3 is doing, it works. Whatever Stardock is doing (and it's very clearly different from W3's system), it doesn't. If, as the OP claims, Stardock is using the exact same system as War 3, they've plainly implemented it incorrectly.
Here's a comparison between what happens with War 3's custom games setup (i.e., to play DOTA), and Demigod's:
STEP 1: JOINING THE GAME
WAR 3: Click on game name; 1-2 seconds later you are in the lobby.
DEMI: Click on game name; even when it works correctly, you aren't in the lobby until 30 seconds (rare) to 5 minutes later. (And it only works "correctly" about 1 out of every 3-5 attempts; most attempts to join end in a connection error, or just never take you to the lobby even though you appear to be connected.)
STEP 2: FILLING THE GAME
WAR 3: Game room fills up for an average 5v5 in ~20-40 seconds.
DEMI: Even when it works correctly, it takes 5-10 minutes or more to fill up even a 3v3 game. (Because of all the connection problems people are having, it very rarely works "correctly." In my experience, at least half of attempted games fail at the lobby stage for one reason or another. And it's very difficult to get enough people in for a 4v4 who are all properly connected to each other, and almost impossible to do a 5v5.)
STEP 3: STARTING THE GAME
WAR 3: Host clicks GO button; 5 seconds later the game starts.
DEMI: Host clicks GO button. ~30% of the time, the game starts; ~70% of the time, the host is told the game can't start because two people can't connect to each other. One or both have to leave; go back to STEP 2.
In sum, War 3's system just works, and works quickly (can usually get a full 5v5 DOTA game going in less than a minute) and seamlessly for the user. Demigod's system, even when working correctly, is a hassle that wastes players' time.