In the short run amazon makes more money (commission on the sale) but in the long run this hurts Amazon's brand.
I manage an amazon business account where this is a particularly bad issue because buyers are not spending their own money. They will literally spend $500 on something that is $50, because they like Amazon's reliability around delivery, the purchasing is very smooth, returns are smooth etc. I feel like they cracked down on this maybe 4-5 years ago? But still stuff slips through.
So yes, I very much like that they don't allow sellers to mark up crazily on Amazon's site.
I tried to avoid Amazon a couple times, to give other stores a change and all. Wasn't that great, and it was more expensive.
Bought something on Best Buy, thought about returning it. On the product page and invoice, didn't say the date I could return. It only said the return periods where on a FAQ. FAQ didn't have a specific category for that product. I thought it was something (with 30 day), but when tried to return it, got a 'no' because it was 14 days. Why not add how many days in the product page? Why not show me the exact date on my order details?
Also tried the same with books, buying on Indigo. Bought an extra book to get free shipping. The price of the books where already a dollar or 2 higher than Amazon. 10 days delivery, and one of the books has some marks like someone put a paper over the book and scribbled on it. Never had a problem with Amazon, and it's cheaper and delivery is like 2 days.
As far as using AMZ logistics, that makes complete sense. I've come to expect a high standard from items I buy from them regarding when I'll get the item. If that starts varying wildly...well what's the point of Prime? Fast delivery is AMZ's entire schtick.
The price fixing I can't defend or make an argument about.