With raid 5 it is always a data corruption risk to use it without a cache backup as well as low performance. To do a write on raid 5, it is necessary for all the other disks to be read so the parity can be recalculated. Unless the parity can be written as exactly they same time as the disk, it is possible for it to be faulty, a parity only really tells you there is a fault (the fault could be in the parity), as a result is only able to correct against disc failed disk reads and not corrupt writes. It is only possible to correct bad write using two matrixes of different disk sectors (to build the parity), this requires 2 parity drives and is even slower.
Mirrored drives also cannot detect bad writes, as both disks cannot be relied upon to write at the same time (which might also give a common failure). If a speed optimisation is done where it can read from either drive rather than the primary and then the secondary it is possible for the mirrors to have errors. The primary is always told to write fractionally before the secondary. It is possible to use a stripe for alternating primary/secondary, which is faster than a single drive. This still can have errors however it is less likely for them to surface. Also how the rebuild is done is important, most systems copy all the data from the other drives exposing all write corruptions on rebuild rather than copying the out of data sectors, when a drive goes off line and returns...