I did some experiments with packJPG and jpegtran. It turns out that if you process the JPEG file prior to compressing it with packJPG, you can get a smaller file size.
jpegtran stock: 6579826 bytes
jpegtran -optimize: 6405337 bytes
jpegtran -progressive: 6072106 bytes
jpegrescan: 6010238 bytes
packJPG results:
jpegtran stock: 4864661 bytes
jpegtran -optimize: 4864828 bytes
jpegtran -progressive: 4865008 bytes
jpegrescan: 4865027 bytes
In other words, the larger the input JPEG file, the smaller packJPG will compress it. Which begs the question. Is there a way to do JPEG compression in a way which is worse than jpegtran?