My guess is that the IOC just couldn't ignore Russia's doping anymore. It's probably all about the image: pretend state-sponsored doping doesn't happen until there's a whistle blower then look like you're doing something to punish the country.
Since there aren't any other whistle blowers, they pretend everyone else is good to go because anything else would be too much of a scandal and turn people off.
Is that right? No. And it won't help clean up the sport. On the other hand, I don't think they want to clean up the sport in the first place. Sponsors want action, you get action in sport with record breaking results and you're the most likely to get those with doping. I actually believe that officials knew about the doping that went on during the Tour de France and probably still goes on. The more spectacular the results, the more people watch, the more money will be made. I don't believe the IOC is any different.
I think that they made an example out of Russia. But I also think that it was right. They shouldn't not have punished Russia, they should punish everyone else as well.