What came first, the chicken or the egg in your scenario? Did they stop doing great work because the rewards didn't match? Or did you stop matching because they stopped doing great work?
I definitely agree. Pay what you expect (great for great work), and if someone isn't cutting it let them know (chance for improvement). Worse case, let them go.
Instead, most companies reward no one and wonder why the good ones leave or burn out ("weird, they don't contribute at the same level anymore").
Always hard to tell.