1) Bitcoin is a gossip network in which each (full) participant checks all activity of all other (full) participants. Such systems scale notoriously badly as the cost for each network event scales quadratically. Simple example:
- Three participants creating three transactions leads to six transaction relays and verifications.
- Six participants creating six transactions leads to thirty transaction relays and verifications.
- Twelve participants creating twelve transactions leads to 132 transaction relays and verifications.
As you can see this obviously becomes unsustainable as more people adopt the network. Thus, a limit is needed to keep the workload manageable which is currently expressed in a consensus rule that limits the number of bytes per block to 1,000,000.
2) If we cannot process an unlimited number of transactions, there must be some sort of prioritization for transactions to get selected. At first Bitcoin transactions were confirmed by prioritizing larger and older transaction inputs, ensuring that everybody would get their turn. At some point block space demand was large enough that many blocks filled up and not every transaction would be confirmed within a few blocks. The miners gradually switched to a more efficient mechanism: Instead of prioritizing old inputs, they selected those transactions that maximized their revenue per block. Thus, transactions were sorted by largest fee rate, and an efficient fee market was established.
3) We've now reached the point where fees don't even drop significantly in traditionally low-demand times such as the weekend. Since transactions are selected by the fee rate per data size, transactions that transfer more value can naturally bid a higher fee than transactions of lower economic value. (Note that the amount of value transferred is decoupled from the data size of a transaction.) As transactions transferring thousands of dollars worth of money can easily pay several dollars and remain competitive with other payment services, it's obvious that low-value use-cases will be the first to get pushed out of the blockchain.
4) Strategic thought: The latter will occur inevitably, as even if we could sustain blocks of 1,000GB, only ~3,000 transactions per second would be possible—way too little for all sorts of microtransactions to remain feasible. If we had kicked down the can the road several times already as fee pressures started to peak, we'd eventually be in the situation where we'd have a community and industry accustomed to not having to deal with fee pressures, with wallets not having code to handle fee estimation, services not having logic to deal with unconfirmed transactions, and large business use-cases built around the availability of cheap blockspace—an utterly unsustainable expectation.
5) Personal opinion: It is thus important for the longterm development of the Bitcoin system to keep some fee pressure sustained in order to create the anticipation of the eventual exodus of micropayments as it will in the longterm be impossible for these payments to be on the blockchain. After seeing 530 satoshi/byte last week, we are overshooting at this point, and it's high-time to increase the capacity of the Bitcoin system. As I'm convinced that any hard-fork attempt will lead to two persistent forks of the Bitcoin blockchain, my preferred approach is to activate SegWit which has been tested for more than a year, and is active on multiple altcoin networks. Besides gradually providing more capacity as the network adopts the new segwit transaction format, it has better scalability properties for transaction verification, and provides the foundation for additional capacity and scalability improvements such as Lightning Network, Schnorr signatures, and signature aggregation.