Lossless image compression, similar to what you find in PNG, is somewhat cool and in photos its ratio may go to as high as 2.3:1. Anything higher is only achievable by somehow touching your image data. Take mRAW and sRAW, or "compressed" file setting in some of the camera brands silently downgrading your image to 12 bits instead of the 14 or 16 bits that you've actually paid for when choosing your particular camera. Sometimes much worse things happen, and the resulting files are about as raw as microwave meals.
Lossy image compression, like JPEG, is very handy and might get you some very good results in terms of file size. But lossy algorithms rely on their own assumptions of what's actually happened between your viewfinder and your subjects. Lossy algorithms assume there's a shadow and they recolor everything around it to match that idea. Or they think that an orange is orange, so it needs some even more orange halo around it, which might not be the case.
The more you push lossy compression, the more prejudiced it goes, eventually filling your image with artefacts. Oh, and of course it doesn't inherit raw parameters of your originals, so you can't tweak specific features like curves, because after conversion to a lossy format your raw files simply lose all the information unseen to the human eye.
Those two are nowhere near optimal, but it doesn't have to be forever.