I am writing a mobile application that will, as a part of its functionality, display a list of recorded thoughts. Now I am deciding the textual content of the menus and that left me thinking whether there is a logical difference between words remove and delete. Which one is more appropriate when speaking about taking an item off the list? I guess remove is, but why?
Delete and remove are defined quite similarly, but the main difference between them is that delete means erase (i.e. rendered nonexistent or nonrecoverable), while remove connotes take away and set aside (but kept in existence).
In your example, if the item is existent after the removal, just say remove, but if it ceases to exist, say delete.
As a side note: delete is sometimes used of computer files to mean move to trash/recycle bin (hence it is still recoverable), but that's not a standard meaning outside of that context.
They are very similar, but the way I would make the distinction here is based on what the action does, and on the item being removed/deleted from the list.
If the item will continue to exist outside the list, I would recommend "remove", as it is being removed from the list, but the item itself is not deleted.
If the item will no longer exist, then "remove" and "delete" are essentially equivalent, although "delete" may be a bit clearer, since the user is deleting the item.
You can remove something from a collection (eg a file from a project, a folder from a library) without deleting it. If the item in question has no life outside your collection (eg a paragraph from a word document) then there's no difference between remove and delete. But if it has such a life (eg an image file in an HTML page) then remove and delete could be different. Delete is stronger - not only stop including it in my collection to it, linking to it, whatever, but also delete it from wherever it lives.