Stand-alone program has no external dependencies.
It doesn't have to be .exe file only, it can have accompanying libraries and data files: Unpack the archive to a folder and run the executable. If you just unpack an archive, no shortcut is added to Start menu, hence you'll have to navigate to the folder where the unpacked application is located and start it from there, or manually create a shortcut for it in Start menu. Many computer users find it difficult.
Easier to Use
An installer guides users through the installation process. You download the installer, .exe or .msi (the former is preferable for non-advanced users), and run it. It picks up the installation folder, usually in
Program Files, copies the files, creates shortcut in Start menu. You're done: in the majority of cases you simply click Next several time.
Then go to Start menu and run the application. Some installers provide an option to start the application when installation is complete.
If the application opens files or documents of certain type, the installer registers it with the shell. So that you can click the file to open it.
Many applications, both commercial and free ones, require you to accept the license agreement before you can use their application. Installation doesn't proceed until you acknowledge you agree to the license terms. Even if you didn't read the license, you have agreed to it.
Sometimes it's not enough to simply copy the executable files. Applications often use shared components or special runtime libraries. For example, .Net framework runtime has to installed to run the application written for .Net; even Visual C++ runtime, if it's not statically linked, has to be installed. The installer takes care of ensuring all the dependencies are satisfied.
If an application consists of several .exe and/or .dll files, dynamic linking to Visual C++ runtime reduces disk space. If .exe and .dll are statically linked, then the runtime is duplicated in each and every file.
License terms of a library may not allow statical linking.
If a vulnerability is found in the runtime, it can updated separately from the application. Updates to .Net and Visual C++ runtime are installed automatically via Windows Update.
If executables and libraries are statically linked, then application vendor has to recompile the application and release the updated version. So using shared runtime reduces cost of application maintenance for developers and vendors.
Program Files also provides more secure environment: the files there can't be modified or deleted without administrator privileges.
Many Windows applications rely on entries in the registry. If application uses COM, all the objects have to be registered otherwise the application will fail to create the needed object and will not start.