The reason bots only select a limited set of heroes is because the AI hasn't been scripted for every hero in the game yet. Assuming you pick before them, the bots will then try to counterpick any heroes you or your allies have.
You can also 'suggest' heroes which will cause allied bots to choose those heroes, if AI exists for them.
As far as I can tell, the only AI scripted heroes currently are:
- Axe
- Bane
- Bloodseeker
- Bounty Hunter
- Bristleback
- Chaos Knight
- Crystal Maiden
- Dazzle
- Death Prophet
- Dragon Knight
- Drow
- Earthshaker
- Jakiro
- Juggernaut
- Kunkka
- Lich
- Lina
- Lion
- Luna
- Necrophos
- Omniknight
- Oracle
- Pudge
- Razor
- Riki
- Sand King
- Shadow Fiend
- Skywrath Mage
- Sniper
- Sven
- Tidehunter
- Tiny
- Vengeful Spirit
- Viper
- Warlock
- Windranger
- Witch Doctor
- Wraith King
- Zeus
Valve periodically adds new bots in their weekly updates, but as of late they have been focusing primarily on AI enhancements instead of adding more heroes.
Your example lineup is viable and can win depending on which tatic is going to be played and player skill of course. However your lineup is forced to go an all in tactic since it will not outcarry the second lineup.
If they can manage to push one lane of rax around the 20 min mark they have a solid chance of getting another lane and win the game around the midgame. Since they have a solid global ganking strat combined with push it will be hard for the enemies to get a solid early to midgame.
But if they play with mapawareness and defensive they will not get picked of too much and stop the first rax push since they could farm their midgame items on their carries.
So in conclusion: Your lineups are not a good example of extreme cases of lineups and therefore can both win.
There are lineups that are unlikely to win. Those are present in AtoD tourneys (DotA reversed) where people pick the lineup for the enemies (making it extremely bad).
For example an 5 hero lineup with no early game presence like spectre, riki , etc.
Those will most likely not win vs a rounded or a strong early game team.
And to answer your final question: There is no lineup for a guaranteed win if we are talking competitive CM mode. If you are talking about AP there are good synergy lineups but nothing that would not be counterable. Dark Seer + Naga Siren + any more aoe heroes was once considered extremely hard to beat and navi did it with a fast bkb on enigma and an naturally magic immune hero like juggernaut.
Final conclusion:
Picking lineups in CM mode is taking away a lot of the game already. Forcing enemies into tactics that they expect to beat is an extreme advantage.
Best Answer
EXP and gold you get in DOTA 2 come from landing the killing hit on an enemy, be it a player or one of the creeps, which are the minions heading towards your base. However, you ONLY get rewards from you or an ally landing the last, killing hit on an enemy mob. It doesn't matter if you did 95% of the damage yourself, only the last hit counts.
Because of that, players have come up with "denying" creeps, towers and sometimes even heroes, which is basically landing the killing hit on YOUR own minion, to deny the enemy the killing hit and associated rewards. A successful deny reduces the gold and EXP the enemy team gets to 30% EXP and no gold reward, and additionally rewards the denying player with 20% of the normal gold reward (but no EXP reward).
The DotA 2 wiki provides additional information on denying:
https://dota2.gamepedia.com/Denying
You can deny a creep, tower or hero by issuing an attack-move command directly onto the ally you want to deny. The default keybind for this is the A key.