I don’t know about others, but from my wee days I was instructed to never issue a bare “halt” command by itself because its success would depend on too many complex processes successfully stopping on their own to succeed. If you really wanted to issue a halt and be certain it succeeded quickly, you always needed to issue an appropriate flag to make it happen.
Even today in 13.2, I’ve written here somewhere that a Desktop shutdown typically shuts down <very> quickly without allowing some processes to shut down gracefully which can be an issue (especially a database app which needs to properly allow all transactions to complete).
Yes. “halt” is not, and never was, supposed to power off the system. It only shuts down (“halts”) the operating system.
That a plain “halt” powered off the system was actually a bug in openSUSE’s halt, that got fixed years ago (and is still fixed).
For powering off, you need to specify “-p” (“poweroff”), or you can also run “poweroff” instead, that is supposed to power off the system as the name implies.
Or rather, use “systemctl poweroff”.
From “man halt”:
**NOTES** These are legacy commands available for compatibility only.