My impression was don't over-extend a product, such as Evernote or LinkedIn have done, and try to keep your product focused - similar to the Unix philosophy of "Do One Thing and Do It Well".
I would say my reflection to achieve this would be to define
- what is the product perimetre
- what architecture/design principle will bring you capabilities and useful abstraction
- what are the best interface/extension points for allowing user to extend the usage easily
Then hard work, iteration and pivot