Or from your point of view, that's a lot of effort for a product that you already know you want. If you're busy doing laundry, you want to keep doing that, rather than stop and order detergent, or risk forgetting it in the next five minutes (and then not having it the next time). The price is somewhat variable, but the variation is likely below your threshold of caring.
These aren't huge costs, but it's very much web-UX thinking: people have very short memories (and attention spans) and even a single extra click is an opportunity for people to change their minds or get distracted. If your washing machine came with an infinite supply of detergent, or your cat food canister were infinitely deep, your life would be a tiny bit better. If they knew the cost were comparable to other sources, many people would take that deal without worrying too much about whether the exact price.
That's Amazon's schtick. They make your life a tiny bit better and take a tiny profit on that. It works only if they can get that tiny profit on basically everything you buy. Everything everyone buys.
They've since discovered other ways. As you say, you know the rate at which these things get used up, so it's even better for them to just replace the button with a recurring order.