補助記憶装置上の容量や転送時間の削減が可能になる反面、実際の実行を開始する前に伸張（解凍）する時間がかかる。ただし、一般に補助記憶装置のアクセスにかかる時間はCPUの速度に比較して非常に大きいため、圧縮されて小さくなった実行ファイルをロードすることで時間が短縮されており、伸張にかかる時間をほぼ相殺すると言える。
実行ファイルの一部をオンデマンドで読み込むオペレーティングシステム（OS）では（仮想記憶参照）、実行ファイル圧縮はその効率を悪化させる。伸張機能部分は伸張したデータをメモリ上に展開し、その実行ファイルを実行中はそれを保持する。これは、各ページを実際に使用するか否かに関わらない。そのOSがスワップファイルを使っていて空きメモリを作ろうとした場合、通常の実行ファイルならコード部分は単に捨てられるだけだが、伸張されたコード部分はスワップファイルに退避されなければならない。これは通常あまり問題とはならないが、圧縮された実行ファイルをいくつも起動した場合、通常の実行ファイルならコード部分のメモリは共有され再利用されるのに対して、圧縮されている場合は共有できないため、メモリ使用量が起動回数に応じて増えていく。従って、圧縮するかどうかを検討する場合には、それが同時に複数起動される可能性があるかを考慮する必要がある。
別の欠点として、ランタイムライブラリの依存関係を識別できない場合がある点が上げられる。その場合、静的リンクしかできない。
また、一部の古いアンチウイルスソフトウェアは、圧縮された実行ファイルの解凍機能部分のパターンがコンピュータウイルスと似ているため、全ての圧縮された実行ファイルをウイルスと判断する。最近のアンチウイルスソフトウェアは、圧縮された中身を（一部の圧縮形式について）解析できるようになっていて、中身を見てウイルスかどうかを判断している。
実行ファイル圧縮の技法は、ハードディスクドライブの容量が少なく、フロッピーディスクでのソフトウェア配布が一般的だった時代によく使われた。それによって、同じ容量でより多くのソフトウェアをインストールでき、使うたびに伸張する手間が省かれるという利点があった。ただし、ディスク容量の増大とともに実行ファイル圧縮の技法は廃れていった。
実行ファイル圧縮はデモシーンでよく使われた。
ベリー・バッド・ウェディング
概要.