I'm just a hobbyist programmer more or less and have grown up coding-wise in the .NET ClickOnce world.

When one "installs" a program, what actually happens?!

Also: Some little apps/tools just run from the exe. Why do most programs need a fancy installation process? What are the advantages, disadvantages, pros & cons? Is installation usually necessary or more like standard practice?

Apologies for the extra questions. I'm just hoping for a plain-English more-or-less layman's explanation of the key factors.