I usually try to run at least 4 years. By then, a device I handle all the time is starting to show wear and tear.
Yeah, I keep mine as long as I am willing to put up with it. The last phone I had was at around 7-ish years. It's a phone. I don't use it for gaming, for movies, for "social media", etc.. I don't really give a fuck until it starts sucking at being a phone or there are security problems I cant solve even with a custom firmware.
I used to keep mine forever, but I appreciate the better cameras on the newer units. But like our apple peeler found, you have to go many years before that changes enough to be useful.
Last one I had was an android device that stopped at 4.x, so pretty much everything was broken on it. No root certs, no applications that connected to anything, and no updates. Even the phone portion didn't work because it wasn't VoLTE. One before that saw half the baked in services dead because screwgle decided to kill them, their provider like twatter changed their API, or they had such a vuln found that the supporter didn't anymore.