The transaction fee is an incentive given by a Bitcoin user to make sure that his or her transaction will be included in the next block of transactions that is settled on the network. The transaction fee is processed and received by the Bitcoin miner or mining pool that successfully adds the block to the blockchain.
With Bitcoin’s current block size limit of 1 megabyte, every block is filled to its maximum data capacity. This creates “transactional scarcity”, as demand to use the network meets the fixed capacity of the network. The transactional scarcity is caused by the maximum supply of 1,000,000 bytes worth of transaction data every 10 minutes vs. the variable demand by users of the network to send Bitcoin transactions. Subsequently, a fee market emerges. In this market, a minimum fee per kilobyte is required to have a transaction confirmed. Anything above that minimum gets confirmed in the next block, while anything below must wait until competition is not so fierce. This is caused by the miner’s general desire to maximize profit and to be paid for his or her services to the network.