Briefly
Program Files
is where 64bit software is installed.
Program Files (x86)
is where 32bit software is installed.
Program Data
is where both sets of programs should write data (such as configuration data, for example) that they want to store for all users (so can't go in a single users AppData
or MyDocs
) and that does not belong in registry.
The difference between the two ProgFiles
folders allows you to have two different versions of software installed (for example Internet Explorer comes in both 32 and 64 bit flavors installed together) because Windows silently redirects requests from software in the (x86)
folders.
As for question 2, you can probably ignore Program Data
most of the time (nothing should be installed in there), but I often find myself jumping between the two ProgFiles
folders so I'll be looking for other answers here to help with that.