All else being equal, a good solution:
- Solves the problem (the clue is in the name) at as deep a level as possible, addressing causes rather than symptoms;
- Causes a minimum of additional problems;
- Is as simple as possible;
- Is as cheap as possible;
- Is long lasting;
- Is easy to undo;
- Is reusable / has reusable parts;
- Is as elegant as possible – people like seeing it and feel good about using it, and develop some affection for it;
- Is part of manufacturing/marketing/distribution/maintenance networks that enable the right people to know about it and use it, and make it cheaper and easier to access over time.
All else is never equal, of course. But every time you make a trade off in one of these dimensions you should be able to explain what you’re getting in return, and why it’s worth it.