I have, on multiple occasions, killed my lane opponent, have them revive, only to kill them again without having to back myself. The counter to revive is literally to just kill them again.
You kill your opponent and push on his tower, if his allies don't recall and stop you, you get the tower.
That's fine, when the game is 400-400 he can let that slide and just take the tower back, plenty of time up his sleeve. Bit of a different story when the game is 30-15. Your team is just barely behind, you pull off a great play, kill your opponent, push on his tower, oh look his team can sit fine top because he just revived and prevented you from being rewarded for out playing him. Not only that, his team now get to remain on top because none of them had to recall in an effort to save their bot tower from you, which would let the rest of your team contest and most likely take top.
So revive just prevented you from taking either top or bot/mid and by this time the score is most likely 20-5 and it's game over for you.
In what messed up world is it fair that a simple button push completely undoes your hard work?, especially if you just barely managed to beat him or worse yet he made a mistake which caused him to lose and he can simply ignore that fact because of revive.
You can argue that "oh well we can just make him blow his revive early". That's **** because as the game progresses and especially if the teams are very even, any idiot would keep revive free for that exact situation, even if he loses the tower briefly at some other point in the game, it's easy to get your own bot tower back when you have a cushion of 50-100 points or more.