Generally, I don't see it as any "extra" effort to type in a different website name. I shop with the intention of already knowing what it is I want, it's simply a matter of finding it. I've already set up accounts on each of those sites, and use a password manager. I need to login to each site no matter where I end up because I have my history and cache cleared whenever my browser closes. It's the same process, whether it be Amazon or someone else. Now, compound that with my general distaste with Amazon, and it means I'm essentially completing the same process I would have been completing with Amazon, but without the associated distaste and annoyance.
I think of it this way: If I want quick and cheap food, I go to McDonalds, but generally dislike the place. It serves it's purpose. If I have a hunger for something specific, like Chinese, Italian, etc. I go to those places. The amount of effort expended is the same. The drive time might vary slightly, but each of those niche restaurants is going to be able to cater to that desire much more specifically, and presumably with a higher care of attention and customer service.
That is:
I'm placing an order, regardless.
I'm getting in the car, regardless.
I'm paying, regardless.
All of those actions are required to happen. No matter where I go, effort must be expended, so why use that effort on something lack luster and morally questionable? Wouldn't it be more logical to spend that effort directed at something catered specific to that desire, rather than go to McDonalds and hope that their version of spaghetti and meatballs will be "good enough"?