Write caching is a performance improvement and a possible cause of data loss.
Basically, what it is is a delayed write. The device (disk) gets the data to write from the OS/program and then does one of 2 things. IF, and that is a big IF, the data is small enough to be held in the devices cache (some of it might be written before all the data is received) the device returns a ZERO return code to the OS (and of course to the program) as soon as the last byte is in the cache, basically instantly. Large amount of data, like a save of a complete data base takes longer of course as the cache would be smaller than the database to be written.
Turn that OFF, as you did, the device doesn't return the return code until the last byte is actually written. Of course this will take longer.
Why is this caching on 'dangerous'? Because in the case of a power failure the data might not be written as it was held in cache and not on the media. Depending on disk activity (like heavy data reading) that delay can be 'long'. Very RARE this would happen, but it could theoretically.
Want to be absolutely safe, you turn caching off. There is also the case of 'something' going wrong in the write, but the device can't report this to the program, but again, very rare this would occur.