Usually you would only need to reboot if you want to use the new kernel right away after an update.
and the new version of all the software that is still running with the old version.
For most of the programs, you don't even need to restart them if they're already running.
how? won't they keep being the old version?
However, if you restart them they will run as the newer updated version.
oh, yeah, we agree on that. but my point is that in my experience, a lot of software gets very confused if some libs it would use or resource files have changed after they were started. often that's also the reason why holding back a package's version makes trouble over time (because certain other packages can't be updated either), or same with using custom repos that have a different release schedule or maybe are not even in sync with your distro