what makes the hardware so crazy different, and could it be done in reverse? (i.e. running windows vista/7 on a 360. should be possible, since the 360's OS is a modified version of windows anyway.)
To start off, the 360 and PS3 both have a main CPU that is radically different from the x86/x86-64 architecture used in normal PCs. There is no way in hell you could get binaries for one architecture to run on the other. Second, the hardware is structured in a completely different way to allow maximum throughput from the various IO components to the CPU, GPU and back again. The internal protocols the various hardware pieces use to communicate with each other are completely different.
And no. The 360 OS is not a "modified Windows". It is a heavily customized OS that was designed to run something that looks like a customized version of DirectX to the developer. There is no way, none whatsoever, to install a standard desktop OS on one of todays' consoles. Also, given that both the 360 and the PS3 are desperately underpowered in the memory department (the 360 has to make do with 512 MB of RAM shared between the OS and the GPU, while the PS3 has 256 MB of RAM for executable code, and 256 MB of GPU memory), there is no reason you'd really want to.
Oh, yes, there was a Linux version for the PS3. Nope, Sony no longer supports it, yes, it was severely crippled by the fact that there was no way to access the GPU, yes, it was only useful for people who wanted to write code for the Cell processor. Which, as it turned out, made a cluster of PS3s a rather well-performing, cheap alternative to a custom supercomputer. Among others, the US Air Force used to have one of them.