Bitcoin will never replace fiat currencies. You point out that there is a maximum number of Bitcoins that can ever be produced (this is a mathematical consequence of its design, not because anybody in particular is 'preventing expansion'), which means it is inherently deflationary. Aside from all the other concerns (regulatory, etc), this on its own makes it unable to become a primary currency for any national economy. We'd be living in an unescapable liquidity trap.

Also, anyone can create new Bitcoins. It takes a huge amount of computing resources these days, though, and your electricity bill likely exceeds the value of the coins you 'mine'.