I think the author takes for granted the amount of work involved in software engineering. I work for a startup who's product has glaringly obvious flaws. But someone has to do the work of writing code to improve upon existing features. And there are a zillion other things that a business can choose to prioritize over improving an existing feature that gets the job done.