I feel like it is very hard to understand. I tried finding information about it and didn’t understand a thing.
When you install with a package manager you download a collection of files. Many of these files are not the program itself but are required to run the program you want, they are called dependencies. When downloaded this way all dependencies are visible to all programs. A lot of different programs use the same dependencies but sometimes different programs will need different versions of the same dependency. This can cause issues where a program tries to use an incompatible version and it’s called dependency hell.
Flatpack, snap, and appimage try to bundle the program you want with its dependencies in an isolated environment that only the program can see, so when another program that uses the same dependencies runs it cannot use the ones located in the isolated environment.
Flatpak and snap allow some shared space to avoid downloading the same files over and over again. Appimage does not and each appimage contains a completely isolated collection of everything need to run the program.
What’s the difference between flatpak and snap? Aren’t they just the same thing then?
They are different methods of accomplishing the same thing. The point of these containers is to give developers a platform that they can create their apps for that will theoretically run on all Linux distro without having to develop different versions for each distro. Snaps were created by canonical and flatpaks by red hat. Snaps can be used for both desktop applications and server applications while flatpak is focused on desktop only. Snaps will automatically update when the application first starts leading to a slow startup time but also guaranteeing that it is up to date. Flatpak is a bit more popular and is completely open source while snap has a proprietary backend that is controlled by canonical but the core project is open source. Flatpak is designed from the ground up to be decentralized in it’s distribution. You can download a file from flathub.org that will install a flatpak for you but snaps work differently. You need to use terminal commands to install snaps.
There are several other differences but those are the most relevant. So to answer your question, yes… and no.