What determines how many transactions end up in a given block? What determines how many transactions end up in a given block? Blocks can have various numbers of transactions, so what decides how many are in a certain block?
Miners (that is, the full node building the miner's blocks - which may be a pool) decide what they put in blocks.

Reasons for including more transactions:


Earn the fees of transactions included.
Make the Bitcoin on-chain ecosystem more useful.


Reasons against including more transactions:


Larger blocks propagate more slowly through the network, giving them a slightly larger chance for being reorganized (as a competing simultaneous block may win).