Mining companies earn bitcoin from both the block reward and transaction fees. Currently the block reward is 12.5 BTC and the transaction fees per block = ~0.1 BTC. Though there have been times when the block fees almost exceeded block the reward, it has historically been far lower.

Block Reward Per Block [Source]

Transaction Fees per Block [Source]

Going forwards, the issuance of bitcoin decreases (next halving of the block reward is in ~ 1 Year). If the price of bitcoin were to stay constant and if fees (in BTC) were to stay constant the profitability of mining with a particular piece of hardware would decrease.

Miners would be expending the same amount of money on electricity (usually priced in fiat, e.g. $) but getting less income from a given block (as they get less BTC). BUT, if the price of BTC increases AND/OR the fees (in BTC) increase, profits could stay level or even increase.

Another element to all this is mining difficulty. If miners stop making profits they will probably turn their machines off. In this case the overall HashPower will decrease, and after ~2 weeks the difficulty of bitcoin will adjust down. Conversely, if miners are making supernormal profits it will encourage others to mine, increasing the overall HashPower resulting in a difficulty adjustment up. The result of this is that miners can be expected to be making only a small amount of profit in the long run.

Historically it has been difficult to quickly acquire bitcoin hardware because it is expensive to fabricate and new machines sell out quickly. Mining manufacture has been dominated by Bitmain, though this is changing and slowly more players are entering the manufacturing space.

I expect that this will lead to less extreme changes in hashrate. A given company will produce new equipment designs every couple of years, but buyers will have access to new equipment more frequently than that.