Quality control would help. Aka, releasing only 3 games per generation (but making them really good) rather than releasing 10 games per generation and having half of them suck (and the other half being decent at best).
The other part is that running around and collecting rings just isn't fun. Sonic was amazing during a time when 95% of games were shovelware with ****ty graphics, but I feel like what holds up Sonic right now is the nostalgia factor, as well as his hip personality - not the gameplay mechanics themselves.
If Generations and Colors had a different name and a different mascot, let's say "Chad, the Runner", they'd be decent games but not noteworthy at all.