1. suitability of a tool to multiple tasks
2. number of features a tool has
This makes for sort of a field with four quadrants: 1. simple but flexible tools
2. complex and featureful tools
3. specialized but simple tools,
4. highly specialized and highly featureful tools
So take a tool like grep and it clearly belongs in the first quadrant. You can do a lot with it, but it's pretty simple to learn and use. Emacs (or Eclipse) belongs in the second quadrant as it can basically be used for anything and is complicated to learn. Something like MyPaint belongs in the third category and there are numerous domain specific tools that belong in the fourth.So the question that remains when one is asking for a tool that 'does one thing well' is, do you mean for it to be specialized, or simple, or both?