La maggior parte delle differenze dovrebbe derivare dal fatto che du considera le dimensioni "nominali" dei file, mentre df considera i blocchi effettivamente occupati, per cui se anche un file non occupa un blocco completo, comunque questo verrà marcato come occupato completamente.
Come detto da altri, comunque, non sceglierei un file system in base alla massima efficienza di sfruttamento dello spazio, con le dimensioni dei dischi attuali importano sicuramente di più considerazioni di sicurezza e di velocità di accesso ai file.