Yes, players who don’t want to buy things from the Dota 2 Store will be able to earn them in a variety of ways, such as by simply playing the game, increasing their Battle Level, or by trading with other players.
All of the heroes will be available free of charge. We believe restricting player access to heroes could be destructive to game design, so it’s something we plan to avoid.
Each time you complete a matchmaking game, you will be rewarded with Battle Points. Earn enough of them, and your profile’s Battle Level will increase, at which point you’ll receive a new item.