Hi @Kostas Chalikias, good question!
Because Prefect can't "reach into" your execution infrastructure, task cancellation is a bit tricky. We have a PR in on the Cloud side for a workaround, the implementation there being that once a flow is in a non-running state, non-running tasks of that flow will be prevented from entering a running state. This will mean that cancelling a flow will prevent task runs that haven't yet started running from kicking off, but will not kill currently running task runs.
Cancellation semantics are on on our radar, but implementation is definitely a nontrivial effort. Rumor has it our core folks will be taking another look this week at which cancellation semantics we can provide, so watch this space!