Bitcoin is designed to produce 1 block of transactions every 10 minutes. The size of that block is now limited to 1 MB. That comes down to a transaction capacity of about 2-3 transactions per second. Bitcoin is now reaching this transaction rate, and hence, people have difficulties getting their transactions confirmed (written in a block by a miner).
Back in the old days, Satoshi had put this limit to 32 MB, but it was lowered later to "avoid spam".
As you can see, the block chain is now full:
https://blockchain.info/charts/avg-block-sizeand the number of transactions is now limited:
https://blockchain.info/charts/n-transactions-per-block?timespan=2yearsThe fact that there is now more demand for transactions than the bitcoin block chain can provide, is now monetized by the miners, who take only those transactions with the biggest fees. This establishes a (rising) fee market.
https://blockchain.info/charts/transaction-fees-usdThis makes that miners are not very keen on "solving the problem": they would slaughter the hen with the golden eggs. It also makes that small bitcoin transactions make no sense any more: only large transactions, on which one pays large fees, will get through. Small wallets will be frozen for ever. The guy with half a bitcoin will soon not be able to transact any more. But the venture capitalist transacting 1000 bitcoin will have no problems paying a high fee to get his transaction on the chain. A very lucrative thing for miners at first sight: only big transactions, big fees, and small blocks. No ordinary people paying a book or a second-hand i-phone in bitcoin.
Nevertheless, there are several solutions proposed to this problem. One is simply to increase the block size again. BU. However, in order to do so, one needs a HARD FORK. New blocks (bigger than 1 MB) will not be accepted by old protocol. As such, chances are that two different coins emerge: a "big block BU bitcoin", and a standard bitcoin. Like ethereum split in ETC and ETH.
The other solution is segwit. Segwit does several things. It allows more transactions within a single 1 MB block by "compressing" transactions in a certain way. But, most importantly, it prepares for the possibility to have the Lightning network on top of bitcoin. That would make certain nodes "banks" and then you can send your transactions through these banks to your destiny, WITHOUT USING THE BLOCK CHAIN. The block chain would only hold some collateral of these banks to keep them honest. Segwit doesn't need big blocks (well...) as the block chain wouldn't be used much any more, and the "banker's network" on top of it would send the payments. A bit like normal banks do when you tell them to send money to another bank's account.
What do people say about these two solutions ? One thing for sure is that just "increasing the amount of transactions per block" (by increasing the block size, or by compressing them) only kicks the can somewhat further down the road. So much is for sure. The "banker's layer" is a radically new way of transacting bitcoin and can, in principle, handle WAY WAY larger numbers of transactions.
But:
1) some people say that bigger blocks will make bigger block chains and will discourage small nodes to exist, leading to "centralization". To me, that argument is bogus. Non-mining nodes don't matter really, but for the owner of the node. People do not agree over this, but when one looks at the investment by miners and their centralization, then the cost of a bigger hard disk and a faster PC is not going to be the main centralizing force. But nevertheless, this is a main argument against "bigger blocks". For me, the main argument is that it is just kicking the can.
2) other people say that segwit and the lightning network will totally "fiatize" bitcoin, with a banker's network that can only be afforded by big bitcoin holders (to put the collateral on chain) with large computing infrastructure. This is most probably true. However, this kind of infrastructure is the only infrastructure that can allow BIG VOLUMES of transactions in bitcoin. You can't have it both ways.
3) Segwit proponents don't want the block size to increase, as this would be too much of a relief and wouldn't pressure people to accept segwit, which is why they are furiously against a block size increase.
4) many miners see the lightning network as a serious threat to their fees, as most transactions are now not on the chain.
So there is now a religious fight between both camps.