mdadm --force is a scary thing to use late at night trying to recover the array. For those that have never seen it, --force is buried in the manual under a ton of warnings, then when run, the binary also warns you again in a full screen of text and a second switch you have to use to then really confirm. I had to go through it back when I had one drive fail, and another was on it's way out. It let me get most of the data off the array, with only the files at the bad points being lost. I think it ended up being one CDs worth of MP3s that I had to rerip from that.
In fact, if I remember, thats when I posted here asking about having surface scans done from time to time to catch errors quicker. Double failures are the worst with RAIDs, hardware or software. I got spoiled by the Compaq RAID hardware always checking disks when they could, as it often rooted out failures way before the drive completely pitched over dead.
I've had good experiences with hardware RAID, but the type of solutions I worked with in my past job are likely way outside the price range of home use. One benefit I really remember that usually is only in the realm of software RAID is the portability of the data. A 1995 Smart Array controller could die in some server, and even if a like for like replacement wasn't available, the drives could be plugged into a 2007 Smart array (likely 7th or 8th generation by now) and still be able to read the data. A few newer features like full array expansion and such might not be available, but the data would still be in tact and could be moved off to a newer system. Sadly similar compatibility stories are rare on the hardware side.