If it matters, I'm trying to name a software product, but don't restrict yourselves :)
But the modern hipster way is to name it something cool and different! Android, for example, is quite futuristic and refers to a robotic machine, it has nothing to do with a smart-phone OS, does it? Same is the case with Ubuntu, Hadoop, MySQL, Python, Chromium, Electrum, etc. You can even name it on a Greek God or something these days!
For an external name (company and/or product), names are still arbitrary labels. But you need to avoid trademark violations, and you need something that will attract customers rather than repel them. So avoid the vulgar and the crude. As for actually attracting customers with a name... that's marketing. I can't help you on that.
Step 2: Once you have these parameters set out - come up with a list of potential names. No name is too stupid for this step. Add to the list in as many different mindspaces as possible (in the morning, before sleeping, after a drink, after a smoke, after a coffee, etc).
Step 3: Seek feedback on the list of names from a trusted source. "Would you use a software product with name X that does Y?" "When you hear of a software product with name X, what do you think it does?"
Step 4: Hopefully the above steps narrow down the list some, with your shortened list go and see if there are other products using the same name and decide if you want to do a weird spelling or axe the name entirely.
Rinse and repeat and of course YMMV. I'll admit that I've only ever used this process for coming up with names for personal blogs and usernames such as bitbybitbybitcoin.