Snap packages are files that contain a file system and get mounted. They contain the application and libraries and such it depends on.
It doesn’t sound like such a bad idea on paper, and speaking for myself and from what I’ve gathered from stuff I see in the community, a general bias against Canonical probably plays a part.
But specifically as a desktop package solution, I do think it’s a poor one. It’s messy, slow, bloated and sandboxing creates usability issues (though it has benefits too, of course).