After about 200 matches I've learned that you MUST play this game with a 5 man team if you want to have anything resembling fun. When you first start out you can learn the game well enough by yourself, but once you get to the point where you know how to play a bunch of heroes and are actually decent at the game you simply won't have fun playing with 4 random strangers.
I say this because at a certain point, everyone having different strategies and expectations of what is going to happen in the game won't work. Dota is such a team game that over half the skill in it involves carefully planed team compositions and adjustments to unexpected setbacks. This is almost never done in random matches with people. It's not impossible to get with a group of sane humans that talk and have a decent time coordinating, but those games are so rare it's not worth putting up with the hours of shit.