I will be lazy instead of learning to read the code. Can the block size increase dynamically, or is there a hard-wired cap?
The block size is 1MB. However, it used to be 32MB.
You could search for max block size or something to get the discussion.
Transactions are the real limit for the network. Every transaction has to be verified by someone.
If you keep the blocks at 1MB or lower, then everyone can easily verify and mine new blocks.
A larger block size may shift the balance to those with faster internet connections.
However, a larger block size keeps transactions fees low, which is one of the main draws of bitcoin.
The average blocks are around 0.5MB at the moment, so not quite critical yet.
The security model of bitcoin assumes network bandwidth is cheap, but hashing is expensive.