How much of your bad experience during a dive where the DM gave superior service to someone else was really the responsibility of the operator who you liked just the day earlier, rather than the mix of people on the boat?
... Perhaps the poor diver has spent the time since raving about what a great day she had with better divers and a very attentive DM. Maybe that'd be some consolation to you.
In a customer & service-provider relationship, ABSOLUTELY it is the responsibility of the vendor, who accepted your money to provide the service you paid for. It is absolutely their responsibility to give you a reason to use their service, and to return for more.
Another customer ruined the experience? Again, that's on the service-provider to deal with that situation. It's not the another customer's job to make other customer's happy. There are numerous things the dive-operator could have done differently:
* Properly vetted any potential customer for skill and experience level.
* Offered a partial or whole refund.
* Had multiple dive-guides to manage multiple groups.
* Allowed advanced divers to go by themselves, if the dive was appropriate for that.
* Divide dive-charters into beginner/intermediate/advanced
...and more. I'm not a dive-boat operator, so I'm sure dive-boat operators who want to provide a good customer experience have far more or possibly better solutions. If another customer ruins my experience just by being there, it's not that customer's fault, they're just a customer. It's the operator's fault for not managing the situation.
I don't pay $100 for some stranger to have fun. However, if you're inclined that way, you're welcome to buy me a dive-charter.