1. You played a 2000 rated and he drops to 1750, You beat him at a peak of his skill, and you still beat a 2000 rated player.
Bayeselo assumes that people won't intentionally tank their ratings. And it's a Bayesian approach, which means that it has a "guess" distribution for your actual skill and updates it after every result. So it first thought that your opponent was at a 2000-rating level of skill, but after more games Bayeselo realized it had initially overrated them and looks like they really play at a 1750-level. And then it realized you'd actually played someone who's more like a 1750 than a 2000, so it updates its model for you as well.
According to Bayeselo, your opponent didn't really decline in skill- the model's estimate just got better.
3. It adds complexity for no reason, I'm sure someone can argue for it, but it's complex for no reason.
It's not very complicated- just a simple Bayesian approach to Elo...
Edited 5/21/2016 17:48:38