Eugh.
See, there is an issue here that cats are just like dogs in one respect - they need training.
Naturally a cat will scratch the sofa, it will walk anywhere it can. The solution is train them not to. Its not hard. Positive reinforcement for good behaviour, mild negative reinforcement for bad behaviour. All it took for us to train our cat not to scratch the sofa was to grab her every time she looked like she was going for the sofa and move her away from it. 2 days later she stopped even going for the sofa. Job done.
Same with the kitchen counters. Any time she looked too interested in the counters or like she was going to jump up on the counters or the dinner table, just grab her and move her away. She learned quickly and never walked on the counters.
The problem here is NOT the pet, its the owner. A little bit of cat shit in your flower bed is not going to do any harm, its already full of mole shit, fox shit, bird shit, worm shit, spider shit, beetle shit and all the rest.
As for who's responsibility it is to keep a cat out of a garden, that is a tough one. I am not digging up your flower beds to retrieve my cat's shit. You probably don't want me in your garden digging up your flower beds. There are plenty of animals that will come in and dig up/shit in a garden. If you have a problem with that, then yes you need to do something about it. As for the owner stopping a cat going to the toilet somewhere, that can be done. Rather the other way round. You train the cat where to go to the toilet, I've seen people train their cat to actually use a toilet.
TLDR version:
If a cat is doing something it shouldn't, your problem is not the species its the owner. If someone didn't train their dog to stay you wouldn't blame the dog.