Um processador quad-core pode executar quatro tarefas de maneira bastante independente, atribuindo um núcleo para cada tarefa. Um processador dual-core está limitado a duas tarefas; para executar mais, começa a ter que realizar mais tarefas por núcleo, e elas começam a competir por processamento.
Na prática, cada núcleo está sempre executando múltiplas tarefas, mas é comum que uma tarefa mais pesada predomine.
Exemplo: eu costumo jogar Eve Online e tenho um processador dual-core. Como abro dois clientes do jogo de cada vez, eu costumava, no Windows XP, atrelar cada cliente a um núcleo diferente (via gerenciador de tarefas). Dessa maneira, o sistema operacional sabia quem deveria processar cada cliente do jogo. Se eu tivesse quatro núcleos, poderia rodar quatro clientes com facilidade sem que eles começassem a competir por processamento um com o outro. Hoje, com o Vista ou Win7, isso é feito de maneira mais automática, e não é nem necessário atrelar cada cliente a um processador.
A comparação importante entre i7 dual core e i5 quad core é: cada programa pode ser rodado por apenas um núcleo. Então, um i7 dual core consegue rodar duas coisas BEM pesadas, enquanto que um i5 quad core consegue rodar quatro, mas não tão pesadas assim.
O quadro fica um pouco mais complicado quando levamos em conta a memória cache (quanto mais, melhor). O i7 costuma ter mais cache do que o i5.
Espero ter ajudado.