Common Crypto C api: Why both CCCryptorUpdate() and CCCryptorFinal()? With the C api for Apple's Common Crypto, why is it sometimes necessary to call both CCCryptorUpdate and CCCryptorFinal?

I read in the documentation that CCCryptorFinal is not needed when:
1. Encrypting or decrypting with a block cipher with padding disabled, when the total amount of data provided to CCCryptorUpdate() is an integral multiple of the block size. 
2. Encrypting or decrypting with a stream cipher.

So it seems like it has something to do specifically with dealing with the padding for block cipher encrypted data, but I was hoping for more information.
Re-phrasing the comments into an answer as the question changed during comments:

CCCryptorFinal is necessary when CCCryptorUpdate is being used and padding is specified in order to know when the last block is being encrypted so the padding can be added.

The advantage to splitting up the process might be to use smaller buffers, etc, Consider encrypting a multi-GB file. 

Additionally there are encryption modes that are not supported by the one-shot CCCrypt which only supports ECB and CBC modes.