Why Would We Need/Want to Use the Downloaded .NET Framework Over the Self-Contained .NET Framework?
The instructor in the .NET Framework video mentioned that you can either have a self-contained .NET framework program that can run as an executable or have your users install the .NET Framework, but it's smaller. I don't understand what's "smaller" about the self-install and when you'd ever find it advantageous to have your users download the .NET Framework to run your program. This seems very user-unfriendly.
In my personal experience, I've encountered this mostly with games. Some games require you to download a specific version of .NET. Some just run on their own.
The best example of why you'd want to use the framework-dependent deployment is for users that have multiple programs on their machine that require .NET. If a user only has one program on their machine that requires .NET, then there's really no meaningful difference between the 2 approaches for deployment. However, if a user has multiple programs that are dependent on .NET and each one of these programs has its own self-contained executable, there is unnecessary redundancy. It requires more storage space on the user's machine because they now have multiple programs each with their own instance of the .NET runtime, rather than just having a single installation of .NET that could support all of those programs.