Staff member
As far as I know, Program Files and Program Files (x86) require Admin Permissions for files to be created and run, this includes something to do with the Windows Registry as well.

AppData can allow software such as Firefox and Chrome be installed without Admin approval, that's why a Standard user account can install their own browser and why it's better for security purposes.
One of the benefits of installing to Program Files is that is exactly where the user expects it to go. Usually users go here first to look where the program is installed. The biggest downside is that the user needs administrative privileges, which isn't always required by the program.
Where Should I Write Program Data Instead of Program Files?

Please correct, if information is not accurate. :)

Mod Edit: Changed thread title by @yesnoo


Level 61
These are vice versa since the purpose of installation of programs is to place the files in an easy and functional matter to avoid messy and confusing directories.

So AppData usually place for the logs, other non-operational components and meanwhile Program Files for critical files that needs to function properly and tightly secure,