Why do bitcoins have a total limit?
The number of newly-created bitcoins with every mined block gets halved every 4 years on average. (More precisely, every 210,000 blocks). When bitcoin started, this was 50 new coins per block and currently it's down to 12.5 coins. This halvening creates a geometric progression which converges to the theoretical maximum number of bitcoins that can ever be mined, which happens to be 21 million.

Mathematically:

50 + 25 + 12.5 + 6.25 + ... = 100

100 × 210,000 = 21,000,000