Software that lasts is software that is a joy to use.
Imho the tech, how good you are at programming is all not very relavant when the user doesn't like to use your software.
I have written a small CMS for a company which was replaced twice but every time they ditched it to return to my old simple version.
This is just one example but I think that should be in people's minds when they create software that lasts: people must enjoy using it.
This can even apply to a command line program.