It's not that software is never finished. It's just that done is not a good description to describe the status of software.
What's the status of the "Buy 12 get one free promotion?"
What's done for one particular team isn't done for another. Done for the business analyst isn't done for the the person doing deployment. It leads to a lot of confusion among teams, particularly when teams are in multiple physical locations. More...