There are many ways of publishing a new software. You can decide to delay the publishing until you develop the system, and run tests on tests (using a QA team), that are designed to try and catch as many defects and bugs in the system, so the development team will be able to fix the bugs, and publish the system when you are sure you have covered all of the tests and aspects that might occur and you found no more bugs and defects in the system.

You can also decide to just develop the software, then run some tests to try and find the defects and bugs, fix as much as you can until you reach the position that you have to publish the system even though you believe you haven’t covered everything, but covered most of the reasonable options that needed to be tested. Then you publish the system and you start to collect the feedback from the clients who purchased the system, and might have stumble upon problems, bugs or malfunctions in the system, then when you collect enough bug information, you produce an update that closes all of those defects. At Microsoft those update packages are called SP (service packs).

You can understand from what I described that in order to produce a product at a 100%, which means the product (system, software) is guaranteed not to have any defects or bugs, it will take a very long time for a company to conduct all of the imaginable tests to make sure there are no problems with the product, and even after a very long time, there might be a special occasion and situation at a specific kind of environment (operating system with a certain anti-virus system together) that will cause a problem that no one was thinking of testing.

That is why Microsoft is usually publishing a system that are at a stable stage, but they keep the communication channels open to collect all of the bugs and problems that clients might stumble upon to prepare a package that will include all of the fixes that where collected up to then. So they publish a free SP (service pack) to be implemented either by downloading and installing or through their automatic updates mechanism.

Microsoft also enables automatic updates for critical problems, which means that critical issues that might arise will be fixed immediately and sent to everyone using the automatic updates mechanism in order to close that critical bug. Usually it will be a security breaching feature, or a bug that prevents the clients from working properly.

Those are the Microsoft updates, and the reason why they are a part of the operating systems Microsoft is developing.