I just got my mountain bike back from the shop after a frame warranty, and they replaced my chain as it was apparently worn (2x11). They recommended changing the cassette and chainrings while I was at it, but I wanted to inspect those myself before making those relatively expensive changes.
Choose a different shop the next time. There is absolutely no reason to change the chainrings when changing the chain. In fact, the converse is true: if you change the chainrings, you MAY need to change a worn chain to a new one.
The rule is that a new driving component may not drive a worn driven component. So everything rearwards MAY need to be changed. So,
- If you only change a cassette, you're fine
- If you change a chain, you MAY need to change the cassette
- If you change a chainring / chainrings, you MAY need to change the chain, which MAY necessitate you to change the cassette as well
Note the word "may". Only testing will reveal if the chain skips.
Thus, reputable bicycle shops do a test. If changing a chain, they don't blindly suggest changing the cassette as well, but rather test whether the chain skips on the worn cassette.
how does lubricating the chain stop the cassette and chainrings from wearing?
If the chain is not lubricated, it wears rapidly. A worn chain has longer link spacing, thus not driving a cassette sprocket perfectly. The load on the cassette sprocket teeth is concentrated on one tooth, quickly altering the shape of the tooth to be such that it only works with the existing worn chain and no longer works with a new chain. This effect is largest on the most-used sprockets and smallest sprockets.
If the chain is lubricated, it wears less rapidly (assuming you clean the chain prior to re-lubrication and only re-lubricate if the chain clearly needs more lubricant, i.e. it is starting to squeak).
A chain excessively lubricated will carry dirt from the outside of the chain to the innards, wearing the chain very rapidly.
Thus, the golden middle path is to lubricate only a chain that clearly needs lubricant, clean it before lubrication, and wipe the excess lubricant away so that the excessive lubrication does not cause rapid chain wear.
You’re not supposed to cover the cassette nor chainrings in lube, so what is preventing them from wearing?
It's the chain wear that wears the cassette and the chainrings. The chainring wear is not dangerous but the cassette wear is. When changing a worn chain, you may need to change the cassette or some of its individual sprockets. You almost never have to change chainrings.
This corroborates to the fact that I now experience chain slippage every so often when using the new chain. This surely can’t be normal, what am I doing wrong?
You (or the shop) caught chain wear too late. Replace the chain earlier, and the sprockets are more likely to work with a new chain.
So you in this very special case need to replace the cassette as well, but not the chainrings. For the new chain, purchase a Shimano TL-CN42 chainwear indicator. The Shimano wear indicator is the only accurate wear indicator I'm aware of. All of the others are complete and total garbage and not worth spending money on. See this explanation for details.