Its not free it costs your soul.
DotA2 is still monetized though. Its just about the only game that is monetized in a way that isn't outright abusive of the players (depending upon how you feel about some of League's non cosmetic pay aspects).
Unfortunately very few developers understand how to monetize their game in ways that will be both profitable and consumer friendly.
I think this is more because Valve has Steam behind them. They can afford to do things like TF2 and Dota 2 where they only charge for cosmetics.