What is the difference between code reuse and software product line engineering?
Why is simple code reuse not successful enough?
A simple google search turns up this definition:
The characteristic that distinguishes software product lines from previous efforts is predictive versus opportunistic software reuse. Rather than put general software components into a library in hopes that opportunities for reuse will arise, software product lines only call for software artifacts to be created when reuse is predicted in one or more products in a well defined product line.
Which is trying to say something like: intentionally designing a new ribbon control that can be used by all MS Office products is a little different than reusing the String class.
Seems like a line that would be easy to blur.