We deliver customer solutions on top of our base product which often drive the development of (future) features in our base product. Because we have to manage these features separately as part of delivery of this customer "product", we then find we need to duplicate features into our base product line(s) in order to bring these to wider release, which is time-consuming and wasteful.