It really depends on the core. An SMT8 POWER8 core might see an 80% throughput increase going from 1 to 2 threads but those have been accused of being two SMT4 cores standing on each other's shoulders wearing a trenchcoat. 30% for a mainstream x86 consumer core is a good average expected value but it'll tend to vary a lot by workload with lower IPC tasks tending to get better results.
Can be closer to 40% in my experience with Intel when things are memory/cache bound (i.e. one thread is regularly stalled waiting for data), and I've seen above 55% in some cases with AMD's Zen microarch's SMT (Zen3).
What a hyperthread brings to the table has huge variability. It can even be a net negative in certain cases. For the software ray-tracer I worked on, it brought 7-80% of a single core.
Hyperthreading works by putting multiple arithmetic logical units such as an Adder bit shifter, or mux to work in parallel during some clock cycles where the executing code can utilize more ALUs. If the code executing was simply using the same ALU over and over again, such as repetitive summations, no additional performance gain will be possible from hyperthreading. A hyperthread doesn't necessarily have priority of the ALUs a normal core thread does
You seem to be confusing SMT (the formal term for hyperthreading) with superscalar. It's superscalar (and out-of-order which builds on it) which works by using multiple ALUs in parallel when possible. SMT then builds on that by allowing the unused ALUs to be used by other thread(s). If a single thread was simply using the same ALU over and over again, you'd have a large additional performance gain from SMT, since all the other ALUs would be available for the second thread.
What if the 2nd thread also needed the same ALU? What if the threads require synchronization and instructions cant be reordered? In both cases you would get no performance gain. Were talking about the same thing though which is effectively using parts of a core more efficiently when possible.
Many years ago enabling hyperthreading on a single core PCs of my clients had doubled performance. It was multi-threaded multimedia type application.
And security people hate them because side-channels.