Any business that takes credit cards is on the hook for the payment for 90 days in case of a chargeback due to fraud, theft or unauthorized use. When a bank loses millions of credit card numbers because a laptop gets stolen (or whatever) they aren't the ones on the hook for the money when those card numbers are used-- the retailers are. Apple also is in the role of being a licensed agent for developers, not the retailer of the apps. In order to keep that role, and also to keep some protection from frivolous lawsuits, they have to act in that role, and part of that is passing on the retailing risk to us. So, every store in the world that takes credit cards has this same issue, every credit card contract requires it, and on the balance, Apple is giving developers the best terms anywhere. I'm kinda amazed at the amount of complaining about this-- especially since it was in the original contracts about a year ago.
I think a lot of people think this is going to be a new thing, it's been around for the past year, as pocketronic says.