As we saw in the chapter Bitcoin - Mining, a miner may be flooded with many transactions at any given period of time. The maximum size for a block is pre-defined in the system necessitating that only a certain number of transactions be included in the block.
The number of transactions in the block is determined by the pre-defined block size and the average length of each block. An important tip here is that the sender should not include too much information in its message so as to make it short and thereby incentivizing the miner to accept it before the other lengthy messages.
A sender generally will also add a transaction fee in terms of a certain number of bitcoins so as to incentivize the miner for early inclusion in his block.
The other consequence in building the blockchain is its mere size. Over a period of time, the entire blockchain may become too large for a node to store it on its disk. This is solved by using Merkle Tree which is described next.