Honestly, there's some common sense that should be involved here. If a cat is killing chickens *on purpose*, then the owners should be contacted and they have a choice to make - keep the cat inside or if the cat kills again there are consequences (whatever those may be).
If a cat is climbing on a roof and falls in and SCARES the chickens, well let's be realistic here... The cat isn't trying to kill the chickens. The cat is being a cat. If a large goose landed on your roof and fell in and the same thing happened, would you kill the goose? That would be ridiculous, it had no idea the roof was bad, it isn't trying to kill anything, it was a mistake.
I see all these people angry at cats - some even angry that they are pooping on their property. WHAT??? so does every other wild living creature. Are you killing every bird that craps on your lawn?
Intent is important. If something is INTENDING to kill your chickens, it will probably come back and continue to come back until it does. You have every right to deal with that. *MOST* cats, in my experience, are not targeting chickens. They are predators, yes, but mostly to birds, mice (which is beneficial to you) and other SMALL animals. I have a barn cat who is around my chickens all the time and has NEVER tried to bother one. He goes in my neighbor's yard all the time. they don't have chickens, but they do have pond fish (which he doesn't bother with either, I have some too). But if he killed one, I'd be forced to decide whether or not to keep him inside, rehome him, or take the chance that my neighbor would deal with him. I accept that. If he SCARED one of their fish and my neighbor killed him, we'd have some very real problems...
I think of cats as "wild animals" in a sense. I don't mind if they are around, but if they target an animal of mind with the intent to kill, it needs to go.