One thing is to do business with an entity you disagree with, another thing is to act unethetical (or "evil") yourself in order to do business.
Is hiring a hitman wrong? Is shopping at a known hitman's store, knowing that the profits he makes will be invested into killing wrong?
It's an extreme example, but if you feel that something a company is doing is wrong, financially supporting them is also wrong.
If you say "I'm supporting an entity that does wrong, but the benefit it brings me is greater than the guilt I feel from using them" is one thing. saying "I support them financially, but I disagree with them, therefore I'm not supporting immoral behavior, and am still moral" is just stupid and hypocritical.
Say you shop at a store that sells meat. Your money helps them buy that meat, even if they make no money on the meat, as they can use it as a loss leader: they have your funding to fall back on. So you stop shopping there.
But, hold on, the employees at that shop get payed by the other customers there, right? Customers like, say, the baker and the landscaper that you use. So now you can't pay them either, as they'll go out and pay the shop, and then the shop will go out and buy meat.
Take it as far as it can go, and it's clear that you can't participate in a capitalist society that also contains immoral business transactions without rendering yourself immoral.
No, you can never support only entirely moral entities, but you can still make a difference. It's not an either-or proposition.
In theory nothing, but you have to draw the line somewhere. By eating at a restaurant where the cook uses a pan made in China, you are indirectly supporting the Dafur genocide. So you draw an arbitrary line, which is better than the alternative, which is cynicism.
[1] "China" is a word for a very big place. Does it refer to the government, or the people? Is there a difference? This footnote is too small to contain the volumes of debate which might ensue from this question.