Each new version of .NET is released as a separate product rather than an upgrade, to avoid breaking programs that rely on older versions. This means multiple versions of .NET can be installed simultaneously on the same computer. Major versions like 2.0, 3.5, and 4.0 introduced significant new functionality for developers while maintaining compatibility with older applications. Microsoft's approach allows seamless transitions between versions.