I think these notes are too specific and implementation-dependent. it's only recently that ngClick uses compile function for example. So things change and this list will get stale.

besides, I feel like some of these examples are too abstract. for example even I don't know exactly what you meant by the last use-case/example.

for me compile function is primarily a just an optimization trick for directives that are used in combination with ngRepeat. In this case, we can move the work that applies to all instances of the directive within a repeater to the compile function where it's executed once per repeater so that we don't need to execute it once per iteration within each repeater.