In general I agree with you, but reality is also more nuanced. A blanket boycott can often harm the people you want to protect. A common question in the debate about Palestine and Uyghurstan and boycotts is what to do about companies that give equal opportunities to people from the targeted communities - i.e. companies that give jobs in the same terms to both Israelis and Palestinians or the Han Chinese and Uyghur people.