"You ain't gonna need it" (or YAGNI for short) is a principle that gained an established foothold in the Extreme Programming community. The principle centers around the tendency of some software to increase functionality for reasons other than the features. "Featuritis" the symptom of some software to increase features simply to satisfy a check-list or some market collateral is related to you ain't gonna need it.
"You ain't gonna need it" gives us a criteria by which to focus our refactoring efforts. If we know we don't need a particular feature, we can make better decisions about what may or may not be dead code. Code that supports a particular feature, for example, that we don't need will become dead code if we decide we ain't gonna need that feature.
Code in a code base that supports a feature that isn't needed, or performs actions that "might be needed in the future" increases the amount of code that needs to be read. In order to effectively evolve a code base...