Program Files vs Program Files (x86), together with System32 vs SysWow64 both feel like something that Raymond Chen may have written about in the past. My money's on there being an application compatibility reason for both, because Windows users don't have the luxury of throwing everything out and starting again from scratch. A new x64 system must be able to continue to run old x86 programs, even if those programs were written in a time before x64 even existed. Of course Microsoft don't always get it right (and they frequently enough get it wrong for stupid reasons), but this is the kind of thing that doesn't just happen for no reason at all.
Spirit's comment about YAPM (...figure it out...) made me chuckle. Far too often the Linux preferred solution is to write yet another competing product rather than just fixing what's already there. How many package managers are there anyway? And this time next year people will be extoling the virtues of yet another one (that's almost but not quite totally incomaptible with those that already exist); guaranteed.