The protocol allows solo miners (or mining pools) to choose which (if any) transactions they want to confirm. They can confirm as many or as few as they want, but they must include at least one transaction to pay the block reward, and a block currently cannot exceed 1 megabyte in size.
The protocol also allows users to include a transaction fee with their transaction. The miner (or pool) that solves a block gets to keep the transaction fees of all the transactions that they include in the block. This means that miners that choose not to confirm any transactions earn less bitcoins (since they miss out on all the fees), and can't operate as profitably. Since mining is designed to be a highly competitive market, those with less revenue are likely to eventually be driven out of business by those with more revenue. Clearly, the larger the fee you voluntarily include with a transaction, the more beneficial it is to the miner to include your transaction in their block.
Miners can choose what transactions they want to include. If they don't want to include any transactions other than the one that pays them their 25 BTC, then that's their choice.
so if they all choose to not include transactions we wouldnt be able to send coins?
Sure, but that would leave a LOT of fees out there for a miner to collect. That provides a lot of incentive for some miners to include transactions.
If by "they" you mean every single person currently mining bitcoin got together in a dark room...Yep, we're relying on the benevolence of a few in a world full of people motivated by greed.
Well, those that send transactions without a fee are relying on the benevolence of a few. Those that include a reasonable fee with their transaction are relying on the greed of many.
it actually helps their profit to include very few transactions, since they get less orphaned blocks this way. For example, Discus Fish pool used to only include no more than 42kb worth of transactions in every block they mine. Then the Bitcoin community threatened with action, and Discus fish bowed to the community pressure, and now includes more transactions.
The risk cost of orphan blocks is pretty small. That cost is significantly reduced even more every 4 years. From what I remember, a reasonable fee of 0.0001 BTC per kilobyte more than compensates for the increased risk of orphan, and provides a profit incentive for the miner or pool.