x86 is for a 32-bit OS, and x64 is for a 64-bit OS
The difference is that Java binaries compiled as x86 (32-bit) or x64 (64-bit) applications respectively.
On a 64-bit Windows you can use either version, since x86 will run in WOW64 mode. On a 32-bit Windows you should use only x86 obviously.
For a Linux you should select appropriate type x86 for 32-bit OS, and x64 for 64-bit OS.