Almost always software issues. Of course with the cheap ones I got when I was young weren't great when they were new. The one I remember being underwhelming was the Oneplus 6T, which I bought new. It was great for the first year, then it started crashing, lagging under fairly normal use. Funnily enough the performance was fine in games, normal usage was the problem. It also had a tendency to turn itself off at random.
I've had my iPhone longer than I had the Oneplus and it runs just as well today as it did when I bought it.
As others say, Bitwarden checks all of those boxes, and KeepassXC technically doesn't fit the "not self hosted" requirement, but you can store your database file in any cloud storage you want.