Dota playing is about winning the game - obviously from submission or destroying the Tree of Life as what I called it. When I say winning it should initiate massive killings to convince your opponents to surrender. Being effective players, one should consider many things on picking a hero for that match. I'll list some aspect of heroes you should remember.
1. Area of Effect (Aoe)
Skills that have wide Aoe are very useful in team fights or clashing. Stunning skills of tidehunter, wrath of zeus, massive healing of chen, illusory orb of puck, epicenter of SK, reverse of magnus, smoke of rikimaru, golem of warlock,rylai ulti etc.
2. Hero Type (Agility, Intillegence, Strength)
Int heroes are frequently used because of its high damage skills. Heroes like zeus, death prophet, lina, lion, etc. are good example of insane skills. Fast killing heroes in short game. If you like to end the game right away these heroes are the best.
Str heroes are more of a carry hero like tidehunter, lifestealer, bristleback, sven, earthshaker, magnus, etc. However, the last two heroes are more useful in stunning purposes that’s why it is justifiable to have an int build for these heroes.
Agi heroes are the attackers like mercurial, priestess of the moon, mortrid, swapper, rikimaru, strygyr, nevermore, etc. These heroes are best in long games. Its damage per second (dps) is insane and can pawn you with just an agi treads, butterfly and 3 wraiths.
3. Disablers (Hex)
Int heroes are the best disablers. Disabling one opponent can turn a game into a nighmare. Hex on broodmother (without bkb), nervermore, centaur, etc. is very effective in clashes. Winning teamfights are dependent on combos. Disable hero is very easy to pawn leaving the opponent into a disadvantage.