Hyperthreading makes less sense on normal Core CPUs
Hyperthreading is back on ~Core 2! Why can't my other processors have it?
How effective hyperthreading is depends on factors like the pipeline length and whether or not out-of-order execution is used. Intel designed the later Pentiums with one goal in mind: Higher clock speeds (at virtually any cost). The only way to achieve this was to use a very high pipeline length. The downside were more frequent and longer stalls than would occur on a processor with a shorter pipeline. Consequently, the utilization of the CPU's integer and floating-point units was sub-optimal. This means when Intel introduced hyper-threading to the Pentium 4, there was a need for a way to increase processor throughput by making more effective use of its integer and floating-point units.
AMD, on the other hand, wisely chose not to compete in this rat race. High clock speeds may be good for marketing to the technically unaware, but a better measure for a processor's speed is throughput: Clocks per second multiplied by the amount of work that, on average, can be completed per clock. Thus, in their Athlon series, AMD preferred to improve the CPU design to combine moderate clock speed increases with great increases on the work per clock side. This allowed AMD to use a shorter instruction pipeline, meaning less, and less severe stalls, and consequently better utilization of the processor's work units even when additional units were added. Also, the longer clock cycles allowed AMD processors to perform more complex calculations per clock. The net result was that Athlons would, in real life applications, often outperform Pentiums that operated at significantly higher clock speeds, attracting all sorts of tech savvy customers to AMD. It is obvious from the Athlon's short pipeline design that hyper-threading would have been much less effective on Athlons than on Pentiums, so it is unsurprising that AMD did not choose to introduce it on their CPUs.
Enter Paul Otellini whom I highly respect. He may not have been the one who started the "Core revolution", but he definitely supported it. But let me explain what I mean by this term. By 2005, it was becoming more and more obvious that Intel would have massive difficulties further increasing their processors' clock speeds. It was also obvious that even in the mid term, many of the problems were insurmountable. Plus, the power consumption of the Pentiums reached absurd levels even before Intel introduced the shame de la shame of the entire line - the Pentium 4 "Prescott". The NetBurst architecture had reached a dead end. Intel finally did the right thing and redesigned its processors to use shorter pipelines and perform more work per clock - just like AMD had done for years. Intel even did this at the expense of clock speed. In doing so, Intel managed to overcome the efficiency problem while at the same time improving processor throughput. At the same time, hyper-threading became largely obsolete - while allowing more than one thread to run simultaneously was still desirable, this would require increasing the number of work units as well rather than just allowing two threads to share the same set of work units like in hyper-threading. Thus, the Core Duo was born, and the rest is history.
In a sense, Intel finally realized it was on the wrong track and has now chosen to abandon NetBurst and out-AMD AMD instead. They had a lot of success doing this. This should also explain why now there are Intel CPUs with 4 cores but no hyper-threading.
But why would Intel then want to reintroduce HT in Silverthorne? Simple - while Silverthorne as a Core CPU could effectively saturate its work units by out-of-order execution alone, Intel chose to remove OOO execution in order to conserve power. But this means Silverthorne might suffer from the old work unit utilization problem, and hyper-threading becomes interesting again, at least for this particular processor line.
As an interesting foot-note to a long post, I want to add that hyper-threading can, in extreme cases, actually hurt processor throughput. This can happen when both threads taken together require more cache memory than is available (while there would be enough cache for just one thread). In this case, they will cannibalize on each other's cache, and the number of RAM accesses will skyrocket, causing frequent stalls and thus slowing down the processor's operation.