Originally Posted by zeroibis
Something I was wondering. Why not just have users simply overwrite files such as framework-res.apk directly and then reboot. To me this seems safer for users with sprecovery as they can then keep there current rom as update.zip at all times ready to re-flash if something went wrong.
Logically this may seem like more steps but you only need terminal emulator or root explorer in order to do it. For example the instructions here have people modifying theme data without needing to flash or build an entire package. Likely much easier if your just trying to change a few things or fine tune stuff: [TUT] How to mod your own framework-res.apk to include the CRT screen off animation - xda-developers
Lastly I understand that doing but what does this actually do to the file? How does it make it faster on the phone?
In addition to ardchoille's reply, the .zip archive can easily be used by users with less knowledge, that's another advantage. It can be shared more easily.
About optimization, it is supposed to make the application more "efficient" by reducing its file size. The png image files will be optimized (such as indexed colors) without any loss of quality and the app will also be zipaligned (I won't get into details but the app should consume less RAM).