ACPs and suiteapps behave differently due to the nature of their usage.
When you delete something from your suiteapp either manual deletion or by excluding them in deploy.xml, SDF will deploy your local suiteapp into account and performs a diff (kind off) between the project you are deploying and the project already in account, and will delete the files in account which aren't part of current project being deployed.