Solve valuable and underserved problems or desires exceedingly well and sustainably while accumulating advantages.
(1) Valuable = It's very important and top of mind for enough people.
I have heard someone describe these well as "hair-on-fire" problems. These are problems that people are actively google searching for or complaining to others about. Some examples of valuable problems from companies I have worked at: losing weight (Noom), getting to/from the airport (Lyft), passing a school test or interviews (Quizlet), satisfying energy efficiency requirements (Opower), buying anything conveniently and quickly (Amazon), and tools to make a living (Microsoft).
My belief is that there are tons of problems that are underserved. But if you only look at a very high level, you will think there aren't many. You find more underserved pockets when you go more niche in a segment or problem. For e.g. delivery for ethnic groceries, shopping websites for Botox studios, or CRM for solo consultants.
(3) Exceedingly well
People hire a product to get a job done. Your product should offer a seamless, delightful, and cost-effective E2E solution. To do this, choose an area where you have some unfair advantage, or there's a shift in technology or environment that makes something previously impossible possible. For e.g. Uber or Instagram after smart phones.
(4) Accumulating advantages = #3 increases over time.
This could happen because of network effects, brand effects, efficiencies at scale, etc.
(5) Sustainability = you can do all of the above profitably