Simple answer,it's very hard to find a program that is so badly written that it will use less than 50% of even the most modern core.
(outside of console ports that are being made for 1,5ghz almost arc cpus )
HT and SMT in general is made to take advantage of CPU commands that are not being used by a thread, so 50% is the only thing that makes sense,if there were programs that only ran with 25% on a modern core then there would be reason for more than 2 smt threads.
The programs that run on servers are not programs but mostly just queries and in general things that do not need much cpu power so more threads does make sense there.