There really isnt much more to say than what Paul Graham did in this essay http://paulgraham.com/startupideas.html
However, I will add this. As it relates to the CEO coming up with the idea, its a big bonus when founders/ceo are solving their own problem. Its obviously much easier to make a product decision when you can be certain at least one user agrees with it wholeheartedly. That said, Ive build 3 successful (and 1 utter fail) where I was not in fact solving my own problem. In fact I'm working on a new project where I'm not directly the user. But I've come to realize if you are not directly solving your own problems then two things that are essential in building a business:
1) you must become good at extrapolating the needs of users.
2) you must at least be building products that you deeply understand and empathize with.