sql job cancel triggers failure notification
Because SSIS package are executed as step of type CmdExec. When you cancel this step the process being run is forced to end prematurely.  Consequently premature termination of a process is considered a failure. Behind the scene cancelling a job calls for sp_stop_job

For other type of job steps in a SQL agent job for e.g. T-SQL command performing a backup, when you cancel this job it finishes the currently executing step so it is not considered a failure.