Disclaimer
Flatpak uses OSTree, like Fedora Atomic Desktops (Silverblue, Kinoite etc) and similar to BTRFS snapshots.
So many files are deduplicated and linked, not actually there
https://gitlab.com/TheEvilSkeleton/flatpak-dedup-checker
50GB without
31GB with deduplication
21,4GB with BTRFS compression
Why use flatpak?
Because its a modern package system that is free, focused on making every app run, has isolation, sandboxing and a permission system
And brings the most recent version of something to any system. I’m astounded sometimes by how much a native package can lag behind
Convenient libraries/frameworks are fat. Because they are fat, they need frequent updates/security fixes, breaking codebase more often. With flatpack, developers can freeze lib versions at a convenient point, without caring for system dependencies.
Because has many advantages