Let's use airline fares as an example. If you allow people to cancel at any time for any reason (and for example to not show up) then the airline can't sell as many seats but has the same costs. As a result they would (in theory) have to charge a higher price for seats on the plane.
My point is that while on the surface this looks like it comes out of the businesses profit in actual practice it doesn't.
As a matter of fact there is a pretty widespread business practice whereby you allow people to buy and return for any reason if they are not happy 'NO QUESTIONS ASKED!' and you simply jack up the price of the product to account for the returns (which are predictable because it's the same product).
But there isn't any legal requirement for a full refund if you simply change your mind. That's up to the store.
Some still refund, some offer store credit and some have a restocking fee.
For special order items which are expensive, not sold that often and need to be ordered in as needed from supplier - they are more likely to have a restocking fee.
I always though that as a huge cost that ends up being passed on to people who don't buy+return stuff on impulse.
It got a bit less attractive a few years ago, now the seller doesn't have to pay the postage if the item is less than 40 Euros (and some minor otehr requirements).
Or order several different types of camera bag to try, and keep one.
To a UK reader that sort of generosity seems completely contrary to the way US companies are usually run and I'm not surprised they're tightening the rules.