just say my experience (on ubuntu22 today)
//not applicable in all situations
check last poweroff log
after boot, check previous power off syslog.
journalctl -b -1 -r
- -b -1 //previous boot
- -r //show log in reverse order
Nov 11 20:10:45 u22 systemd[1]: et.service: Failed with result 'timeout'.
...
Nov 11 20:10:45 u22 systemd[1]: cups-browsed.service: Failed with result 'timeout'.
...
Nov 11 20:09:16 u22 systemd[1731]: Reached target Shutdown.
It really wait 90 sec timeout..
disable stuck service
mine was 2 service stop timeout,
// 90 seconds force stop as default.
I don't use them, stop & disable it.
sudo systemctl stop et.service
sudo systemctl disable et.service
sudo systemctl stop cups-browsed
sudo systemctl disable cups-browsed
then poweroff succeed in 5 seconds.
ref:
https://www.cnblogs.com/apirobot/p/14528996.html