This is not always true, see, for example:
$ snap info 0ad
stable: 0.0.23b-alpha 2019-06-11 (91) 949MB -
$ apt show 0ad-data
Installed-Size: 2,093 MB
$ snap info chromium
stable: 75.0.3770.100 2019-07-04 (784) 159MB -
Deb size (I don’t have it installed):
amd64 75.0.3770.90-0ubuntu0.18.10.1 [Package size:] 60,145.7 kB [Installed size:] 216,708.0 kB
These snaps will likely take up more space in practice because the three most recent versions on your system are kept by default so that you can revert easily to the previous version if the new version doesn’t work on your computer (it’s not as simple as this with Apt/Debs), this is customizable, so I think you can just have one verson stored (the version you have installed) if you prioritize disk space over being able to rollback app updates.
The reason why these snaps are smaller than the Debs, however, is because the apps are stored as squashfs filesystems, rather than uncompressed. This is actually an improvement on how Debs work, if you prioritize disk space usage! On the other hand, more space is taken up if an app’s dependencies aren’t included in the
core snap or a base snap (e.g.
kde-frameworks-5-core18), since the app has to bundle these dependencies, but this is good, the snap knows that dependency version it is running on on any computer, and this can thus be tested and dependency version differences (as is the case with Debs, which need to run on the possibly different dependency versions between Debian, its versions, and its derivatives, and their versions) are no longer a problem because they’re the same on every computer which supports snaps.