Every item has an installer and almost none has the opposite. Removal gets done by hand, badly, leaving tables and files behind, and that is the memory the buyer keeps.
Know what you created
Tables, directories, config entries, scheduled jobs, uploaded files. If you cannot list them, neither can your buyer, and something will be left running.
Ask before destroying data
Two options, stated plainly: remove the software and keep the data, or remove everything. Defaulting to keeping data is the safer choice, because the buyer who wanted it gone can run it again and the one who did not cannot undo it.
Remove the scheduled work first
A cron entry pointing at deleted files runs forever, failing silently and filling a log. This is the single most common leftover.
Offer an export on the way out
A CSV of whatever the buyer put in. It costs you a small amount of work and it turns leaving into something they feel good about, which matters when they are choosing your next item.
Say what you could not remove
If a file was not writable or a table could not be dropped, list it so they can finish by hand. Silent partial removal is worse than an honest list.
Why bother
A buyer who removes your item cleanly thinks well of you. A buyer who spends an evening hunting orphaned tables writes a review about it.