I think a good program, is like a good piece of art. You never really finish. You just satisfy the nagging feeling of incompleteness until you have exactly what you wanted (or hoped). And even if you don't finish, you've still technically finished your research into it.
Good programmers always finish what they start.
Downvote this observation into oblivion.
Good programmers sometimes are not permitted to finish by management.
And sometimes what you start collapses under the weight of a lot of factors, or it becomes apparent that it's a dead end part way through the process.