É preciso ter em conta que durante a utilização de um CPU, o normal é que cerca de 2/3 das unidades de execução do CPU estejam inativas, por não terem trabalho para fazer.
O hyper threading é uma tecnologia que permite que uma thread seja iniciada no pipeline de execução de um CPU, antes de uma primeira thread esteja terminada, ao utilizar unidades de execução do CPU que não estão a ser usadas no momento.
Por causa disto, partes que ficariam normalmente desligadas, passam a ficar ligadas pois estão a fazer trabalho. Isto faz com que as temperaturas e os limites de TDP sejam atingidos mais depressa. No caso de overclock, o HT vai reduzir a capacidade de um chip em fazer OC, pois aquece mais e gasta mais vore.
No caso dos Sandy e IvyBridge, existe uma especie de ECC dentro do chip, que repete os cálculos sempre que estes estejam errados, evitando erros de sistema, sacrificando desempenho e logo reduzindo o valor de GFlos produzidos.
Se aumentares o Vcore deves começar a ter mais estabilidade, mesmo com o HT ligado.
No caso do BF3 o problema do HT era se este fosse usado num sistema que tivesse o SpeedStep desligado. Este erro não aparecia em todos os sistemas, eu nunca o tive, mas sei que pessoas que tiveram este problema conseguiram resolve-lo ativando o Speedstep. Para mais info:
Guru3d
A questão do HT e do desempenho que consegue aumentar dependerá sempre de como um programa for feito. Se este for optimizado para usar o pipeline de uma forma mais eficiente, a utilização de HT trará pouco aumento de desempenho, mas fazer isto é complicado e caro e por isso, o HT consegue trazer bons aumentos de desempenho, sem aumentar o numero de transistores de um chip, ficando este mais barato de fazer ou podendo o espaço ser usado para outra unidades ou cache.