I use git and nix (home-manager) for most of my dotfiles. The main advantage of this is that if manages dotfiles, but also you whole user environment, so you can install some software that you need for your rice for example. It’s very powerfull, but it takes time to get it to work properly since you have to learn nix expressions !
simple example: the app that you want is outdated, is missconfigured on the distro’s package manager (e.g. OBS on arch missing wayland capture). If this app has a flatpak version, it’s likely it’s mainained by the same people who makes the app, thus they can make sure it works fine through flatpak, and since it’s distro independant it works everywhere. App images just bring all their dependencies with them, and snaps idk never used them…