Para começar, vamos explicar a diferença básica entre x86 (32bits) e x64 (64bits). Funciona assim: imagine que seu computador é uma mecânica de carros, onde o mecânico/motorista é o processador, o estacionamento onde os carros ficam para aguardar o reparo é o HD, a oficina em si é o cache do processador, e a memória RAM é uma pequena garagem onde o carro fica para caso seja necessário algum outro reparo antes de voltar para o estacionamento principal.
Sendo assim, o mecânico (processador) pega o carro do estacionamento (HD) e o leva para a oficina (cache do processador), onde lá, ele fará reparos (interpretará os códigos de tal arquivo, os 01001010). Esse mecânico pode fazer reparos em formas de pacotes (trocar 2 ou 4 pneus, nunca apenas um, por exemplo). Esses reparos podem ser feitos em pacotes de 32 ou de 64 (voltando ao processador, o processador cria pacotes virtuais de 32bits ou 64bits para processar e enviar para a memória ram. O tempo gasto para ler os pacotes é o mesmo, logo, 64bits é mais vantajoso por levar o mesmo tempo de leitura do 32bits, processador o dobro de informações). Feito isso, o mecânico coloca o carro (arquivo) em um outro estacionamento (memória ram) para caso seja necessário algum reparo futuro, nesse estacionamento também ficam algumas peças (informações ou objetos que o programa venha a criar).
Logo, um processador de 64bits seria, em tese, 2 vezes mais rápido que um processador de 32bits. Sem faltar que o processador de 64bits tem recursos adicionais de segurança e virtualização. Processadores de 64bits são também os unicos que podem gerenciar quantidades de ram maiores que 4GB (esse é a maior limitação da plataforma x86).
Você pode ver informações mais detalhadas sobre as plataformas nos seguintes links:
x86:
http://en.wikipedia.org/wiki/X86
x64:
http://en.wikipedia.org/wiki/X64
Ok, mas e as diferenças nos sistemas operacionais, como o Windows?
Vamos a elas:
- Windows x86 não "enxerga" mais do que 3,71GB de ram, logo, se você tiver 4GB de ram ou mais, não poderá usa-lo em um SO de 32bits.
- Windows x64 é geralmente mais rápido do que um SO x86, e essa mudança de performance é percebida no sistema. Já nos aplicativos, a diferença de performance só existe quando o aplicativo é feito especialmente para 64bits (como o Photoshop por exemplo). Caso o programa não seja feito para x64, o Windows "emula" um sistema 32bits para que o programa possa funcionar corretamente, não havendo assim uma incompatibilidade, mas também, não havendo um ganho na performance do aplicativo.
- Sistemas 64bits trazem muitas novidades em termos de segurança se comparados a sistemas 32bits. O Windows 7/Vista por exemplo, trazem: DEP via hardware (segurança de código uma vez que ele está no processador, não permitindo alterações, como por exemplo, hacks), Kernel Patch Protection (proteção do "núcleo" do Windows), versões x64 requerem que todos os drivers sejam assinados pelo desenvolvedor, não permitindo assim, falsificações ou alterações em drivers (segurança), virtualização via hardware entre várias outras, sendo uma das principais, performance geral do sistema e em alguns aplicativos.
- Não há problemas em compatibilidade (exceto com anti-vírus, que necessitam que a versão x64 seja instalada) uma vez que o Windows emula um sistema x86 para aplicações que não consigam ser rodadas na plataforma 64bits.
Basicamente é isso, e eu aconselho, se seu computador suporta um sistema x64 bits, USE O SISTEMA 64BITS, vale a pena tanto por segurança quanto por performance. Não tenha medo de fazer o upgrade.
Lembrando que TODOS os processadores Core2Duo ou superiores são feitos na plataforma 64bits, assim como suas familias equivalentes da AMD. Logo, para que o processador possa usar de todos os recursos disponíveis, um sistema x64 é requerido.