Players who spend $0 in Hearthstone (whom I call free players) can only obtain new cards from coins. Coins come from daily quests. Most daily quests involve winning 3-5 games against other players. Because PvP involves so much luck, winning games is about trying long enough. Thus the only way for free players to obtain new cards is to grind. How long is the grind for new cards?
The first step in obtaining new cards is unlocking the Naxxramas and Blackrock dungeons. How much time does that take a free player? Each dungeon costs 3500 coins. Daily quests give 50 coins per day, so unlocking them both takes 5 months. And that is assuming that during these five months, the free (yet dedicated) player is not buying any card packs with coins. I could understand that the less committed free players would quit out of desperation. Blizzard may have realized that too, so they introduced two new ways to obtain card packs: Tavern Brawl, awarding one pack per week, and Watch and Learn, a daily quest awarding a card pack for spectating a battle.net friend winning a game. Watch and Learn actually killed two birds with one stone, since it also was the first (and still is the only) incentive to socialize.
Once the dungeons are out of the way, free players receive a card pack every other day. After 3-4 months, nearly all commons and half of all rares have been acquired. But players eventually need specific legendary cards to increase their win ratio. How much time does it take a free player to get a specific legendary card? Since a legendary card costs 1600 dust, and a card pack awards 90 dust on average, it takes a free player 5 weeks to gather enough dust to buy one specific legendary card. And that is assuming that the player trashes all cards found in packs, including those of rare, epic, and legendary rarities. If they keep the epic and legendary cards, a card pack only awards 39 dust on average, and obtaining a specific legendary card takes 6 weeks.
Not all legendary cards are worth keeping. Competitive decks require 2 to 4 legendary cards, ie 5 months of grinding. Moreover, there are 9 classes in Hearthstone, each with different legendary card requirements. Since Blizzard releases new cards every 6 months, no free player can seriously think of collecting all the cards in Hearthstone.