For a similarly priced GPU from AMD and nVidia, it is very clear that AMD has a significant lead in hash rate for BTC.Anyone care to explain why?

I know AMD has more "stream processors" than nVidia "cuda cores", but I don't think they can be compared directly.Otherwise AMD would have several times the performance than nVidia on games and GPGPU applications. However, this is not the case.

As I understand it, AMD GPUs are built in a way that they are better at fixed point calculations, at cost to their floating point mathematic power. Nvidia cards are built with a focus on floating point.

The reasons games are not 2x-3x faster too on AMD GPUs is because they have a harder time fully utilizing the superior number of shaders (AMD's VLIW microarch is hard to exploit), whereas Bitcoin, being what we call an embarrassingly parallel workload, has no problem exploiting them.