Until approximately 2040 new Bitcoin are introduced into the system as a reward to the miner who discovers a block. So, even if a miner mines a block with only 0-fee transactions, they are still rewarded with a small amount of Bitcoin "from nowhere".
Bitcoin will be introduced in this manner until there are 21 million BTC in existence, at which point they will stop being introduced "from nowhere". This is expected to take until about 2040 (though I don't know how that projection is made). After that point there won't be much of an incentive to mine 0-fee transactions.
Sure, but as long as there are transactions with fees in the mempool, then mining 0-fee transactions has an opportunity cost. Currently that's about 5 BTC per block, compared to the 12.5 BTC reward (https://www.smartbit.com.au/charts/transaction-fees-per-bloc...). It's possible that forgoing the transaction fees will make mining for you unprofitable if margins are thin.
Also, larger blocks are more likely to be orphaned, so including 0-transaction fees increases that risk (very slightly) with no additional reward (though currently the orphan rate appears to be basically zero, even with full blocks)
Also you could short a currency, attack it, then profit.
There are 100,000 transactions with fees greater than $1. Where are these 0-fees?
(15 sat/Byte, ~443 B/tx)