There's a disturbing long-term belief that broken software is somehow our fault for not keeping it clean when it comes to a phone. I've seen it rise up again recently now that Oreo has been available for the Galaxy S8 and Note 8 long enough for users to experience problems, but it happens with almost every device, even when an update hasn't recently arrived. Phone running badly? Factory reset it to fix things.
Pardon my interrobang moment, but that's ridiculous. Not that it's bad advice because it can often fix things, but it's a thing we should never have to do. When the "fix" for your software is to delete all its associated data and start fresh, that means your software is bad. Full stop. It (meaning the software) either fills its own data files with garbage that causes it to slow down while trying to sort through it all or it has no checks written to prevent it from reading garbage data that may have been written to storage incorrectly. Or both. Probably both.
I understand why we do it, because its easier to just bite the bullet and reinstall everything than it is to deal with a phone that acts like its broken. I'm not even saying we shouldn't be doing it or suggesting it because unfortunately, it's solid advice. Waiting for an update to fix the real problems isn't a solution because it will never arrive — manufacturers are too busy working on something new they can sell to find time to fix or maintain the things they have already sold. It's just painful to know that 20 or so years since the invention of the smartphone have passed and we still have to find user-initiated fixes because the software performs so poorly. And it's only gotten worse over time.
10 years from now will we be paying a mechanic to factory reset our self driving cars?
Sometimes having a user reset software to its factory state is a proper request. For example, if you're running a beta test of a program or operating system and decide to drop out of the program and go back to the regular release build. It's reasonable to expect that the data from the two versions won't be consistent and no easy way to migrate backwards has been developed. The same reasoning applies if you skipped a version — going from ver. 1 to ver. 2 to ver. 3 should always work, but going from ver. 1 straight to ver. 3 may not. I can also accept it when a mea culpa from the developers comes with: "We found some major issues and were able to fix them. Unfortunately these fixes require you to reset the software" is nothing you ever want to see, but the very few times you do are acceptable. Developers are regular folks like me and you and can face problems that kick their butts. Scrap the problems and start new is a reasonable request.
You should never have to take responsibility and fix for software issues on a $900 phone yourself. Ever.
But we're not talking about regular-folk developers when it comes to resetting a phone operating system. In Samsung's case, the need to delete everything because it's broken is not OK because this software comes from a company that made like $75 Billion dollars last year on the backs of these phones and this software. Other companies didn't make nearly as much but still made a lot more than you or I ever will. Knowing that some users need to reset all their data periodically should be concerning. Seeing the internet-at-large recommend you factory reset your phone because of an update or it's just been a while since you last did so should be setting off huge alarms with klaxon horns and rotating red lights in an executive office. If your first idea is to reset the software to erase any of the data it created, it shows how little confidence you have in that product.
Properly written software should never need to be reset to its default state. We have to periodically reset our phones, or reset after an update to fix things like battery life. When both of these statements are true, there is a problem that shouldn't be there when you're paying $900 for a product.