timppu: Yeah, I like the Linux way better. It just informs me when there are updates available, and then I tell it to download and install them when I'm ready. Linux doesn't treat me as an idiot, which is what Windows is increasingly doing.
It's also nice in that you can have more control when you want/need it. You can, for example, put some of the commands in a cron job if the desktop environment doesn't do it already. Even better, you can schedule the cron job to happen whenever you want it to (like, say, 3 in the morning, for example). (I am pretty sure there is also a program out there that schedules jobs like this when the load average is low, if you would prefer that instead (or in addition!).)
On Debian systems, for example (don't type the quotes, of course):
"apt-get update" will cause the computer to check to see if there are any updates, but won't actually download them. (Some desktop environments will tell you if there are updates ready after this command.)
"apt-get -d upgrade" will download the updates, but not install them. This could be useful in a cron job, for example, if your Internet is metered, but the limit only applies some of the time. Or it could just be used as a way of downloading updates at times there's likely to be less network traffic, like the middle of the night.
"apt-get -y upgrade" will download and automatically install the updates. I would only advise doing this on the stable branch, if you do it at all. Doing this on testing or unstable is just asking for trouble. (Note that I believe it will not reboot the system, even if a reboot is necessary for a kernel update to take effect.)
As you can see, there is a lot of flexibility here, ranging from "don't even check except when I say so", to "apply updates automatically unless something really wrong happens" or even "apply updates automatically even if something bad is definitely going to happen" (which I didn't list here; if you *really* want to do that, look it up yourself).