The confusion seems to be different terminology used in different sub-communities of computer science. To most computer scientists, simultaneous multithreading, is thought of as any situation in which two threads seem, to the operating system, to be physically executing in parallel. When computer architects (including the well-known textbooks by Hennessy and Patterson) use the term they are referring specifically to the technique described in the paper: Tullsen, Dean M; Eggers, Susan J; Levy, Henry M: Simultaneous Multithreading: Maximizing On-chip Parallelism, Int'l Symp Comp Arch, (ISCA-22):392-403, 1995.
That is, computer architects are specifically referring to providing two or more hardware thread contexts on the same super-scalar core, and not to simultaneously executing threads on different cores.
Hyperthreading is typically used, by computer architects, as a synonym for the same thing: providing two or more hardware thread contexts on the same physical super-scalar core. As pointed out by @PaulA.Clayton the term "Hyper-Threading" was invented by Intel as a marketing term, but Intel has sometimes used it to refer to hardware simultaneous multithreding, and sometimes to refer to coarse-grained hardware multithreading on the Itanium 2, but then does not use Hyper-Threading to describe the fine-grained hardware multithreading on the Xeon Phi.