African nations did not compete in 76 Olympics in protest over the all blacks, New Zealand's national rugby team, touring S, Africa despite the boycott over apartheid. Apartheid no longer exists in S. Africa so the Olympic protest was effective in part. Also when the USA boycott the Moscow Olympics Britain's Alan Wells won the 100 m race so again an example of boycotts being effective.
Boycotts can effect actual change, but mostly on corporations. They can generate a lot of bad publicity, and cause consumers to stop spending money on products. To make political change, they have to be really well organized, really in the public eye and often sustained for a long period of time. In the case of a country, if the country is struggling with public perception of its image, a boycott would be more likely to succeed because of the threat of more negative publicity.
No, Olympic boycotts are no more than disgraceful posturing by politicians at the expense of athletes. Competing in the Olympics is often the high point of an athlete's career, a goal that they have invested tens of thousands of hours into. What justice is it to have all those years of work and sacrifice snatched away, because a handful of pudgy guys in suits decide to posture for a few newspaper headlines?
Most boycotts are ineffective because they involve only a small number of people and do not last long. In a global economy, boycotting a particular country or even a specific company is practically impossible. No positive change has come from a boycott. The only thing boycotts do is let participants feel better about themselves.
While boycotts are a powerful way to bring attention and more awareness to an issue, whether they can achieve real change globally is debatable. Does anyone truly benefit from boycotting and does it affect those being boycotted? In the case of the 1976 Olympics boycott, New Zealand was still allowed to compete while other countries chose not to compete. It sent a powerful message, but in a way these countries only hurt themselves.