I have just installed a server and apparently it also comes pre-installed with snaps that besides being useless are also blocking the shutdown of the device.
Here is a very good article with instruction for cleaning up your system: https://www.kevin-custer.com/blog/disabling-snaps-in-ubuntu-20-04/
It basically says:
do snap list
snap remove all items (by dependency order)
apt purge snapd
clear various files at /home/*/snap, /usr/lib/snap and alike
In case of the server the only snap was lxd - something Canonical is pushing as an alternative to docker.
IMHO this a bit of a conflict of interests between Canonical and the users. Users should be able to opt-in whatever they need and not be forced to uninstall stuff the hard way..
In any case, at least for the moment this is reversible. You can remove specific packages and the snap daemon and install later if needed.