In general, I update software only for security, when I am happy with the features I have, I don't want to have new features.
Ideally, I want all the releases to be supported for bug and security fixes, like this:
Lots of open source projects are using this release strategy:
- Debian stable
- Linux Kernel
I use firefox (most of time, I use w3m in the terminal) and I was letting it update itself. The performance degraded and the memory usage sky rocketed while surfing identical website. Now I use Firefox ESR and I disabled automatic updates, when there is an update I check the changelog and if there is something for me I update.
For apps on my iOS and Android devices, I disable all updates because new releases are not only fixing bug. There are app developers who are removing and adding features to push users to a new app. This is also the reason why I don't store my data only in apps, I always want to have a copy on a computer in a readable format.
The Android OS doesn't get much updates because the devices are abandoned quickly (up to 2 years), for security updates users have to buy a new devices, quite a waste.
Apple iOS devices get regular updates for a few years (5 to 6 years), new features are added and sometimes there are regressions but in general it is good.
When Apple Watch OS 7.00 came my watch (series 3) started to crash (2020-10-09), a few days later there was Apple Watch OS 7.01, my watch crashed again, then I got an iOS 14 update and still no improvement.
What happened? My watch crashed when I wanted to look at the time, there was a black for about 10 seconds and then it rebooted in 30 seconds.
This happened 3 times in a week. Finally I have got WatchOS 7.03 (2020-10-20) which fixes the reboot problem.