When making technical judgments on whether to incorporate a patch into your software, you need to demonstrate (and explain) the following:
A firm knowledge of the scope of your program
The ability to direct “evolution” of your program so that the program can grow and incorporate unforeseen functionality
The ability to avoid digressions that might expand the scope of the program too much
Each time you evaluate a patch, ask:
Will it benefit a significant percentage of the program's user community?
Does it fit within the program's domain or within a natural, intuitive extension of that domain?