Why a block every 10 minutes?
I'm sure this was discussed extensively when the protocol was first established and on this forum more than once, but I can't find anything on the reasoning.
On the surface, it seems to me if you are trying to create a global currency, then limiting any exchange of that currency to an average of once every 10 minutes seems like an artificial restriction on trade, and with some blocks I've seen a wait of over an hour until the the next.
I'm certain that it must have something to do with trust and preventing double-spending, but I would love to have that made more explicit.
Network latency. Honestly, I heard that it was just an arbitrary number that they picked.
What breaks if you aim for a block a minute and give the miner that found it 5 BTC instead of 50 for finding one, on average, every 10 minutes?
Probably nothing. However, the only speeds that matter are <5 seconds and >5 seconds because that would be a reasonable amount of time for a person to wait when they are checking out at a grocery store, for example. Any longer and the speed doesn't matter as long as it's less than a day. Since the network latency for other big p2p projects are around 30 seconds, that's as low as we could go. Thus, 10 minutes provides the best trade-offs between latency, speed, bandwidth, and storage.
Further reading:
http://forum.bitcoin.org/index.php?topic=4382.msg67351#msg67351