you want 100% availability
You don't need it.
Very few do. Go spec out what it would take infrastructure wise as well as software(design etc) wise to provide 100% availability and in most cases (I'd wager 99.9+%) it's not worth the investment. Same applies to that software that these enterprise storage companies are putting on their arrays. Bugs happen, systems go down. Having both controllers fail at the same time is more likely than array vendors would like to admit (I have suffered through at least two such occasions from different tier 1 storage companies).
Look through the changelog of software releases, some of the things fixed look pretty scary at times.. fortunately I haven't been bitten by too many catastrophic storage failures. And that's just the public stuff, talking to insiders at various companies reveal even more horrific stories. One such company that I was a customer of once had us go through a good 7 hours of hard downtime because they did not have a proper escalation procedure internally. The CEO later apologized to us and they did fix their support structure.
What you may want even more though is 100% data integrity. If my services go down because storage is degraded that's not the end of the world - but if the system dies and corrupts itself in the process obviously that is more serious. Same goes for if there is a bug that is corrupting data on disk and then your using async replication to send that on-disk data to another array as a "Backup" not knowing it is just sending corrupt data to the backup system too.
Everyone loves to talk about disaster recovery, business continuity.. more often than not though at the end of the day the costs are too high and the company ends up calling it off. One company I was at got as far as tripling the budget for DR, got it all approved, only to then change their minds and direct that budget towards another one of management's pet projects.
I had another company sign a very expensive contract with a big name DR provider when they knew from day one they would never be able to use it (the plan was fatally flawed and they knew this internally), they signed it anyway just so they could tick off the check box for "DR" for their customers. Fortunately for them that company was acquired by a massive company later on and have since put a more realistic plan in place.
The term Enterprise is over used to be sure, it would be nice if there was some more formal method of determining how available a storage system is as well as how well it protects data. People with some level of storage experience can see past it pretty easily, but those less experienced management types that just look at the most basic metrics are playing with fire.
I've learned some good storage lessons over the past several years, and am a lot more cautious now as a result.
But even with all that - the problems and failures I have had with enterprise storage - I'm nowhere NEAR interested in trying to "roll my own", nor am I interested in deploying some half baked open source storage grid to replace enterprise storage. Storage is complicated to get right, while enterprise storage certainly has it's faults, and it is costly, it still is solar systems ahead of pretty much anything else out there for those organizations that do not have significant developer resources to maintain their own thing. In fact the more I use storage the less likely I have been to be interested in using anything BUT enterprise storage (at least for block and file devices - object storage is different). The risk just isn't worth it for mission critical things.