processInstance.suspend() ,as name suggest, will only suspend the process instance and all its task instances as well i.e isSuspended will gets populated in database.
processinstance.end() will cancel the process instance as well as all open task instance associated with the process instance. isCanceled gets populated in database for both processinstance and taskinstance.
Processinstance is not having the iscancelled. I think the processinstance, taskinstance will be ended with a end date and also the issignalling will be populated with 0.
Any one could you please confirm my undertsnading?