In mathematics we usually can generalize a particular notion in many different ways. Some of these generalizations could be contradictory. When I teach maths/logic to my students I usually encourage them to think about possible generalizations. Sometimes their generalizations are very strange. In such circumstances I usually discuss with them on "truth", "usefulness" or "naturality" of such generalizations.
Question: What are our philosophical, mathematical or meta-mathematical criterion to decide on the most natural or most useful generalization of a particular mathematical notion? Are the most natural and the most useful generalizations of a notion necessarily same? Which is the best generalization?