The maximum number of bitcoins that can exist is 21 million. New bitcoins are made by confirming that transactions happened. Every 4 years the amount of bitcoins people get when they solve a block is halved. When you keep on halving something you never get zero, so someone will always get paid some amount of bitcoins, but the max number of bitcoins that can exist is 21 million. So how is the total number of bitcoins not going to go over 21 million?
This is more a math question, but basically, the sum is a geometric series:
1/2 + 1/4 + 1/8 + 1/16 + ... = 1
That's basically what's happening here except with 21 million instead of 1.