People don't know before the game starts that they're going to have 800 ping. They are hopeful: "This time, the Riot servers aren't going to suck, and I'm going to be able to contribute to my team."
So they start their game, tell everyone they have a horrible ping, and attempt to contribute, because if they don't they'll get banned.
Nobody likes a game to be thrown because someone has garbage ping. However, why blame someone if the problem is beyond their control? Why swear or report someone because the Riot client didn't bother to CHECK THEIR PING before the game started and everyone was committed.
That's the thing I can't get: surely the game client knows when someone's ping sucks. So why can't it auto-dump a game where someone has ping over say 300, and force a restart? For sure, the technology is there for this. This should happen before the game starts: "Someone has been kicked from the game due to ping problems/excessive packet loss. Returning to queue." would be better than a nerfed game, especially if ranked.