Put simply, code is read more often than it is written or changed. A consistent and predictable naming scheme can make code easier for other developers to understand, improve and maintain, presumably leaving them free to worry about cache invalidation.
As a counterpoint to this earlier linked piece on naming CSS selectors, is this piece which puts forward the very reasonable argument that using some scheme to name your selectors is both reducing the amount of work to do and making it easier in the future to know where this code is being used on the site and if anything else is going to be affected.
Before this I had only glanced at BEM syntax for CSS. It’s a little heavy for my tastes but I like it. I’ve typically thought something similar made the most sense. Maybe I’ll try to keep this in mind in the future.