Computer science.
The way AMD gpus are designed, they fundamentally handle numbers different than nVidia cards (Titan was the exception to this as it was designed primarily as a super-computer part). Basically, nVidia cards are designed around texture manipulation while AMD went more along the route of general compute. Textures in games are pretty well defined in their bitcount and the kinds of manipulations you want to make on them (HLSL) so nVidia can tailor cards to do that better at the expense of using the card on anything else (who would use a GPU for anything other than a game, right?).