Repeat Business obviously happens because the company has a great product or a great service.
In the software industry, do companies make the code base complex enough so that the maintenance comes back to them?
I have heard of cases where companies say "ya this code base has minor errors, let's ship them anyway, and let the customers come back for another change request on these". Then they would sometimes charge the customer for that.
This question is specific to the software services industry. Do these things happen in the real world? I am trying to understand the business process.