Compressing random-looking data is usually next to impossible. Compressing truly random data might as well be impossible. A corrollary to the previous tenet is that compressed data is pretty hard to re-compress. A law of rapidly diminishing returns applies to any recursive algorithms. We'll keep seeing advances in lossless compression, but improvements will be measured in small increments.
Progress is steady but slow, and always seems to require big increases in CPU power and memory.
Every few months I get an e-mail from someone with a grand scheme, requesting help with either implementation or commercialization. On page 47, there's a timely comment about a new compression tool by a company called Fileflow. Given the restricions on the speed of the modem, the implication here is that a 5MB JPEG file could be reduced to less than 50K bytes. The packets are then sent to a Fileflow server, where they are stored. I have to confess I don't see where the 100 to 1 compression of JPEG files takes place.