The differences between x86 and x86-64 (ar between 32-bit and 64-bit modes on an x86-64 cpu):
1) Integer registers are extended to 64-bits, meaning you can do calculations on 64-bit integers much more quickly than you could using 32-bit registers. Desktop users hadly ever need 64-bit integers, so this is not a big help.
2) You can now address over 4G or ram directly, because the registers can hold bigger addresses now.
3) x86-64 doubles the number of GPRs which should benefit saftware re-compiled to use them (less waiting on the cache means faster processing)/
I think I hit the main ones.
If I stop talking specific archs for a moment, the difference between 32 and 64-bit is the register size. A bit (binary digit) can be represented as a one or a zero (on the the case of a computer low or high voltage). Registers in a 64-bit cpu are bigger, so thay can handle bigger numbers. This translates to addressing more memory, and increased speed where you need bigger numbers, like in scientific applications.