Ext2 and family (including ext4) reserve an attribute for compression but don't implement it. This feature was originally put off because there were more urgent things to do, and then it became obsolescent as the size of storage media increased a lot faster than the size of data that isn't already compressed. Most large files today (videos, music, even word processor documents) are already compressed.
Compression can still make sense for medium-sized files. Performance-wise, it's a trade-off: it costs more CPU time but less I/O time.
Zfs includes everything but the kitchen sink, and in particular it does support compression. So does Linux's btrfs.