> Nothing of this has anything to do with cargo cults. There is an actual reason behind every rule.
There may be reasons, but I find there is often a lack of understanding about the context in which that rule was developed, and the compromises that were made. A developer not understanding why things must be done in a certain way, but doing it anyway sounds pretty cargo-culty to me.
Well, that's the definition of a cargo cult. Following some rules without actually knowing why.
If you use IDs because some person on the internet said "Use IDs, for the love of God", you're cargo-culting.
Thing is, I know why I follow these rules. I'm the one who wrote them and refined them over the course of several years. I made informed decisions based on 13+ years of experience of which I spent the last 4 writing ecommerce related frontend code for dozens of websites.
This stuff is never done. It's always based on my current knowledge/experience and the limitations of the current boat-anchor version of IE.
Nowadays, my code is more maintainable, I can actually do some sort of "refactoring", and the total amount of selectors is very close to the optimum.
Anyhow, not using IDs makes writing CSS easier. Even if you don't understand the reasons/mechanics behind it.
There may be reasons, but I find there is often a lack of understanding about the context in which that rule was developed, and the compromises that were made. A developer not understanding why things must be done in a certain way, but doing it anyway sounds pretty cargo-culty to me.