Just to expand on compression ratios (pun intended):
Lossless compression (such as used in png files) has lower compression ratios, but also does not degrade image quality. File sizes might be 10% to 50% less (typical compression ratios between 1 and 2.) Conversely, lossy compression - typical of jpg files - sacrifices quality (a problem if the file is re-edited and saved) to achieve much smaller files sizes (compression ratios between 2.5 and 25). Confusingly, photo editing software usually lets you choose a 'quality setting' for lossy files, but "100%" quality does not produce the same results in different photo editing programs - and generally has no direct correlation to a specific compression ratio.
Also, the content of the image itself can factor into compression - if large areas of adjacent pixels have very similar colour, like the sky, it can usually be compressed more effectively than when adjacent pixels are very different, like leaves in a forest in autumn.
One other factor in image file size that I forgot to mention is metadata, all the information in the file that is not the actual image - for example many/most digital cameras today will include as part of the metadata the camera model, lens and settings, date and time, and sometimes even the coordinates of where a photo was taken.