Yes that’s my experience and impression, too. As for not being able to know and where the information is stored, there are several places, which can make it nearly impossible to really determine, especially when software is installed that connects to the Internet and updates itself, etc.
There are places to have startup procedures listed that are left over from older versions of DOS and Windows. Config and autorun files, etc.
Then there is the Startup file folder where EXE’s and shortcuts can be, which the OS will try to run. That’s the easiest one to see and manipulate.
Then there is the Windows Registry, which is supposed to be the new and improved best practice for software to use for everything, but it also makes it nearly impossible to see and control, since it’s enormous and complex and there are hidden parts of it, etc.
And finally, since all of those things can result in their own processes being run, or Windows itself doing things after a delay, there can be and are typically multiple processes running which wait for events or messages or periods of time and then do more stuff, the logic for which is inside programs, so you’d need to know the programs to know what they do under what conditions. You can look at Task Manager’s list of running processes, but typically it has way too much information changing too often to reasonably figure out and interpret all that’s going on at a useful level.
I wonder if any 3rd party developers have written good tools for trying to indicate when the system is available or not and what’s got it stuck.