When a chainring or a sprocket is worn out, it is often possible to give it a second life. Sometimes even a third one.
Skipping of a new chain is caused by very small deformations of the sprockets. Normally they are not even clearly seen to the eye, but easily felt when you drag a sharp object along the work surface of the tooth. There is a bump; that bump is what catches the chain higher on the teeth and leads to skipping. With a dremel tool, filing that bump away takes one second (or maybe 2 seconds on a steel sprocket).A chainring is always easy to file. For cassettes, there is one case when filing is not possible: the cassette is not disassemblable (fully CNC’d, or with sprockets on the spider) and the tooth difference from the weared out sprocket to the smaller one is less than 3 teeth.
Neither chainrings nor the cassette has to be even removed from the bike for this procedure. Time spent for one pass is 1-3 minutes – about the same, or even less, than replacing the old component.
I do not feel good discarding a 10-speed cassette at the moment when its one most used sprocket skips, and 6 are almost intact. Even while cycling loads the environment much less than most other transportation means, I’m looking for ways to not impact when unnecessary. Buying two times less cassettes+chainrings makes me think that I have left a bit more of the Earth to future generations.