Brevemente
Program Files
é onde o software de 64 bits é instalado.
Program Files (x86)
é onde o software de 32 bits é instalado.
Program Data
é onde os dois conjuntos de programas devem gravar dados (como dados de configuração, por exemplo) que desejam armazenar para todos os usuários (portanto, não é possível ir em um único usuário AppData
ou MyDocs
) e isso não pertence ao registro.
A diferença entre as duas pastas ProgFiles
permite que você tenha duas versões diferentes de software instaladas (por exemplo, o Internet Explorer vem em versões de 32 e 64 bits instaladas juntas) porque o Windows redireciona silenciosamente solicitações de software no (x86)
pastas.
Quanto à pergunta 2, você provavelmente pode ignorar Program Data
a maior parte do tempo (nada deve ser instalado lá), mas muitas vezes me encontro pulando entre as duas pastas ProgFiles
Estarei procurando outras respostas aqui para ajudar com isso.