I am starting to think that there should be absolutely no difference between a Product, a Library or a Project. It's just a label.
In fact I would like to see a workflow where I start a Project and once it is developed, change the label to Product, or Library. Turn on the plan feature or turn it off. Use the features that your business requires, not what PTC decided you needed.
A context should be a box that I dump my stuff in and the software should have features to support my business requirements, whether I call it a Library, Project, or Product should not determine what features I can have.