I've tried with the same image that Jpegmini squashed from 3.5Mb to 980Kb. Imageoptim reduced it a lot less to 3.3Mb.
Are the resulting image the same dimensions? Squashed from 3.5mb to 980kb is not possible if it is lossless
. All these applications likely have settings, and using lossless compression, it just tries to squash the images without affecting the image quality in any way whatsoever, so it looks identical after squash. This will normally result in maximum 10-20% smaller file size. For higher compression, the app is applying non-lossless compression ... The result of that depends on your originals. Likely the 3.5Mb original has almost no compression, perhaps because it is original camera files?
So conclusion, just be aware of the difference between lossless
compression techniques. Imageoptim only does lossless, and therefore it does not recompress the JPG itself, which will be the same as the original. For lossy compression, you need to find a good balance between image quality and file size.