This is giving me a brain ache now... If I have AES-128, block is 128 bit, then every plaintext (128-bit) can be encrypted to some ciphertext that is also 128-bit. This is the block size. But: 128-bit block can have 2^128 different values. So if I have 128-bit key - then it seems to be natural to have every different key produce different ciphertext for a given plaintext - $P_1$. So let's take another plaintext - $P_2$, which also can be encrypted to $2^{128}$ different output blocks - but still the same values - we have the same binary 128-bit block - again $2^{128}$ values - the same values that $P_1$ used. How AES differentiate between the two?
The second question: what about AES-256? Here I have $2^{256}$ keys, but again for given plaintext - $P_1$ I can get no more than $2^{128}$ output blocks, is it that I only have $2^{128}$ unique keys even for AES-256? What about the previous situation - I can have only $2^{128}$ different output blocks- so what's the use of having $2^{256}$ key space? Shouldn't the block size be also increased for AES-256? Or am I making some terrible mistake here?