The absolutely gotta-have-its in our opinion: A good name is easy to say, difficult to mispronounce, memorable, defensible, and appealing.
That in itself is hard enough, but there is more to think about when assessing the potential success of a new name.
Beyond these characteristics, your name will ideally have something special about it: it should be uniquely rich and relevant for you, your business, or your values. It is this special unique quality that gives your name the ability to grow and function as the seed of a great brand. Your name should be that one key element that resonates ever outward, like a pebble dropped into a pond. Your name should be rich and full of possibility, able to stay fresh and extend into in new creative directions over time, as you and your company or product or service mature and continue to grow.
In order to function in this way, your name will ideally have at least some relevant, intrinsic meaning, but not be so narrow (geographically, descriptively) that it limits your ability to grow. And unless you have deep resources for advertising and/or lots of time β rare for a start-up β this is a powerful argument for thinking very hard before choosing a meaningless, random, arbitrary, or totally made-up name.