We need to employ an asynchronous FIFO between two modules working at different clock domains when some amount of data has to be transmitted from one module to the other to avoid the data loss. FIFO is required, only when you are slow at reading and fast in writing to buffer the data which is not re