I remember when the US led a boycott against the 1980 Moscow Olympics, as a response and condemnation of the USSR's invasion of Afghanistan. That boycott was effective at drawing attention to the diverging sides in the Cold War but it did nothing for athletes and little for Afghans.*
Now there's talk of another boycott -- of the Russian Winter Olympics in Sochi -- due to an international annoyance with Russia's homophobic policies (let alone Putin's thuggish mafia-state). This version is stronger in its aims -- a change in domestic legislation instead of the reversal of an invasion -- and unlikely to happen. Athletes don't like the idea, and politicians are also talking it down.
The aim of the boycott is laudable, but it's not going to happen for three reasons. First, there's the problem of hypocrisy: lots of countries have inhumane laws (think about anti-abortion laws in the US). Second, there's the problem of self-interest: many countries want Russia's oil or diplomatic cooperation. Third, Russia is already well on its way to implosion. The Olympics are way over budget; the State is weakening from within (like the USSR before it) due to autocratic tendencies; and the Russians tend to unite against outside threats.
Although I agree that countries that invade other countries should be shunned, I also see that those countries (I'm talking about the US here) get away with it because the weaker countries do not have friends willing to stand up to the US. Hypocrisy is a terrible thing.
Bottom Line: Those who live in glass houses should not throw stones, but they can surely support others trying to clean up their houses. Support human rights in Russia, the US and elsewhere.
* It's ironic that the tables have turned, but nobody talks about boycotting the US for its invasion of Afghanistan.