I believe to have a successful product / service, you need to fill a need that clients and customers have.
My question is how do you find, spot, identify or realize a need is there?
As you will definitely read if you go around the blogs and books related to this subject, the best itch to scratch is your own. However, plenty of people run and have run successful businesses in areas that they didn't know anything about at first; it just makes it harder to succeed.
Find a niche
A common reasoning for this topic are:
Once you have all that, you can do your math and ask yourself these questions:
Built it. Market it. Earn.
After that, if you still think you have a viable product, think again - long and hard. It's hard to learn to say no and recognize ideas for being just that, ideas.
Personally, I would recommend you read the excellent Business Model Generation and The Four Steps to Epiphany books. In my opinion, definite must-reads when trying to get new products that feel customer needs.
There's also quite a few threads here about recommended books, check them out.
Nothing magical about it. There's really only two main ways:
Of course, once you have established that initial idea (loftily called "the vision"), you then embark on iteratively refining it via business planning.