Should we refrain from consuming the cultural products of those producers who hold morally objectionable views, when our consumption of such products will benefit said producers?
I think of this as a Ramsey tax problem: we are willing to sacrifice a certain amount of goods and services to do the world some good, how can we do so at minimum damage to our utility?
Just as lump sum taxation is efficient, so should we give away money, rather than distort the MB=MC ratios on our consumption decisions. So my inclination is to avoid boycotts. It is better to just send money to the people or groups you wish to help.
Sometimes boycotts are motivated by the wish to hurt other people — the target of the boycott – rather than by desires to help some oppressed group. Or punishing a group’s critics may be the best way to help that group. Then boycotts make more instrumental sense, especially if the target of your hate has a declining MC curve, as would a movie star or music star with an easily reproducible product. There is less point in boycotting someone in a relatively competitive industry, who is earning little on selling extra units of the product.
Note that if you are facing a monopolist with a durable good, boycotts can make that monopolist better off by helping him to restrict quantity. In other words, boycott rock stars, not painters or sculptors.
A boycott also might be preferable to sending money if your action has a snowball effect on the behavior of others, but that will not be the general case. In fact boycotts often give more publicity to the person or cause you are trying to oppose. "You opposing X" is not, in the eyes of the world, always a negative signal about X.
#21 in a series of 50.
Addendum: See also my post on fair trade.