Зачем Microsoft разделила папки Program Files для каждой разрядности (32 и 64)?
=================================================================================

 Т.е., "Program Files (x86)" и "Program Files"  

Какие причины не устанавливать два вида программы в одну папку Program Files? 

 1. потому что скомпиленный код будет отличаться. а имена файлов останутся те же. нужно разделить по папкам, чтобы не пересекались.  

2. от нефиг делать.  

3. затем что гладиолус 

 - виртуализацию проще применять по умолчанию  

- большие проекты постепенно мигрируют  

- чтобы можно было пользоваться и 32 и 64 разрядной версией. особенно актуально для офиса, где офис - клиент, а приложения для него написанные - COM-сервер.