the same applies to so many package managers, I
The one that still always bites me on Debian-based systems is that apt install and apt upgrade do not imply apt update. So they will try doing the thing with a stale snapshot of the state of the remote repository. Often this means it will install the five packages that haven't been updated and then notice that the sixth doesn't exist (it was replaced with a newer version) and fail in the middle of modifying my system.
Conversely, this is two of my favourite features of FreeBSD's pkg. First, any operation that involves the remote repo implies pkg update (this doesn't always help. One time I forgot I had done pkg upgrade and then came back two days later after a new package set had been deployed), so it always starts from a plausible state. Second, it has a separate fetch and install phase, so will not start installing until it has a consistent snapshot of packages that it needs, so if the package repo changes in the middle, you don't end up having to uninstall packages that were installed but are now the wrong version.