Bernanke, is that you? How'd you get in here?
You can call me Ben.
First, let's understand transaction fees.
Transaction fees encourage miners to donate CPU to the network, which is a good thing because the premise behind bitcoin is that if we have a large network then attackers can't control more than 50% of the network. To understand this, assume that there were no transaction fees (and no 50 BTC reward). Then the miners would disappear.
Now that we understand what fees are for, let's explore alternatives. One alternative is inflation beyond 21 million coins. Right now, miners pay themselves 50 new coins per block. Why? Because the original bitcoin client has this allowance built into it, and all bitcoin users agree to accept these new coins. In several years this scheme will have the block reward dry up.
Once the reward gets small and transaction fee income goes down as people get savvy, miners will disappear and the network will be in serious trouble.
Miners will, however, have the option (and they have the option right now, too) to change the 21 million rule, and reward themselves whatever they want for each new block. No change to the official bitcoin client is required, because most mining is done by mining pools which can make the change to their own modified clients.
But wait. Won't miners just reward themselves insane numbers of bitcoins? No, because the general bitcoin public will modify their clients to detect these unfair coins and reject all coins generated on that branch. This places downward pressure on the reward choice. In essence, a market process will take place as individual miners weigh how many BTC they want to reward themselves per block with how much they can get away with without driving bitcoin users (and, therefore, bitcoin miners) to the branch point before the unfair reward block.