The problem isn't that 404 errors (a.k.a broken pages) exist on your site. They exist on every site and are a natural consequence of a dynamic site.
The problem isn't even that visitors find those broken pages on your site. That too will happen on any site, especially if you have lots of visitors.
The real problem is what happens after visitors reach your site's 404 error page.
The way you handle that broken experience will define how much 404 errors cost your company.
What happens after somebody reaches your site's 404 error page?
Most of the time (about 74% on average), people leave your website after seeing a 404 error page.
When visitors leave your site because of an error, you lose trust. Your site is no longer perceived to be a high quality site.
That loss of trust costs you a customer. Who wants to do business with a low quality website that has errors?
Unfortunately, losing that customer means you've lost that customer now and in the future. Who wants to return to a broken site?
You could lose even more future customer because people don't want to refer their friends to a site they perceive to be a low quality website.
You need to avoid that loss to your business by minimizing the number of visitors who reach a 404 error page. Knowing that some people will reach your 404 page, you need to handle that 404 error experience in the best way possible. That means your error message should apologize to your visitor for the error. It also means, you should help that lost visitor find what they wanted in the first place.