Generic software products by implication are non-specific. This means that the specifications of a generic software is not made available for the end-user of the software product. Custom software development on the other-hand requires that the end-user (customer) provides a specification upon which the software is developed.
The implication of this is that the end-user of a custom developed software has more control over the evolution of the software than an end-user of a generic software. Looking at this from a business perspective; in an industry that is fast changing, a custom software is more flexible since the end-user (customer) owns the specification and can negotiate any changes with the developer to accommodate new business rules. The evolution of a generic software can not be controlled easily by the end-user (customer) and in most cases limits the level of flexibility in the customer's business processes.