It's a thing that developers are used to. When using NAND flash directly connected to the chip; you use JFFS2/Yaffs/ubifs which all uses compression by default When using SD / USB stick / USB HDD etc..; you use ext2/ext3/xfs/reiserfs which all don't support compression; although you can different filesystems intended for block devices that uses compression.