@flomaraninchi @ArneBab @zimoun specifically in FOSS, I think it comes from a culture of co-design with your user base, "having" to answer to user requests, bug reports, etc. It takes really experienced maintainers to say upfront "no" when a requested feature is not in line with the original vision (assuming there was one).
There's also Lehman's 1st law of software evolution, of course, but it is not clear cut on new features vs context adaptation (e.g., platform changes).