Solving for those 'challenges' people pose is the key. However, you have to figure out how to prioritize what to solve. Keep the product CORE intact and have a good vision. You cannot change that all the time. Certainly a great post!
We even structured our whole company around solving problems. We assign major problems to our teams, they come up with a solution, we pick the best one collaboratively, and those turn into tangible projects.