Gameplay Ability System - Proper way of using Cues + filter by actor type?

I’ve been playing with the Gameplay Ability System lately and even though I read all the docs I could find online, I still got some unanswered questions:

(1) What are the actual advantages of using a cue over simply making the same code in an ability using a static function?
(2) I tried to use one through an effect in the GameplayCue property, but then the OnRemove callback was never called on the cue.
I tried to use the method “Add Gameplay Cue To Owner” directly from the ability, but then the OnExecute was never called. Was I missing something? what is the proper way to use it?
(3) My abilities can be triggered on and by both the player and AIs. But I have effects (or cues) that are only applicable to one of them, such as camera effects.
Right now I’m doing the check manually, but is there a way using tags to filter to only one type? so that when creating a cue, only the player will get a specific kind of cue?