Some shopping addresses expire after 15 minutes, so the "rebroadcast now" button is definitely a good idea.
which merchants do that? Because for me that's obviously scamming. Can't they even save a few bytes for more than 15min :O
Some do that to protect against exchange rate volatility. The coins aren't lost, and in most instances the transaction can still be completed, just that the rate isn't guaranteed. Generally you will only see this when there is a very low margin and that is the only way the service can offer the good at that price. SpendBitcoins, for instance, is one which limits the amount of time for a transaction to arrive. But they are giving credit at market price at the time the order is places, so even a 1% move in a few minutes (something that happens all to often with bitcoin) can cause them to lose money on the transaction.
But the "on-demand" re-broadcast feature is something that makes sense. There is no technical reason not to have this, and it doesn't go against the protocol.