Zero hours are a minefield.
Clearly, there is a lot of instability for employees which for the most part is extremely bad - that's why the majority of people want permanent, salaried roles. And many employers abuse the system and it can be extremely unfair on employees. However there are a lot of jobs in the economy where it works well for both employer and employee.
I've worked on zero hours jobs myself, and now manage a zero-hours team. We work at a visitor attraction. It is very seasonal, and there are a few times a year when it's totally dead, and other times like a few festival weekends where it's bonkers. Zero hours gives us the flexibility to have a team across the season that we can rota on 100% of the team for the festivals but then not have to come in when there is literally nothing for them to do at quieter times.
Most of our employees are either students or people who do not need/rely on the income so much (eg people retired from their main career and doing something that they enjoy). These roles suit them enormously well as they can take holidays or breaks whenever they want, no commitment, go home for the holidays for students, etc.
We do ask for them to have good availability to work at a few specific points in the year (the festivals) but other than that we do not stipulate any availability requirements.
Where it doesn't work so well is when you have someone who relies on the income in a meaningful way. We've introduced annualised hours contracts with these people in mind, but take up has been only about 10% of the zero hours staff so it shows you actually it works well for our team already.
In terms of who gets the shifts: it can feel unfair for sure. I ask everyone their ideal each month and they're available, and I try and match and spread it accordingly. I do rota on reliable people first, and think about the kind of jobs available, so who is good with particular types of events. Then it's just fill the spaces as fairly as possible. It's inherently 'unfair' except nobody has any real right to expect anything.
I'm not sure what we'll do if the contracts get banned - lots of short term contracts / low number of hours annualised contracts? Who knows. I don't think we treat anyone unfairly!