The first point which should be noted here is that there is a difference between deletion and removal, just as there is between deleting the contents of a variable and deleting the declaration of a variable.
That is to say, the contents of variables are deleted, and so are variable declarations. On the other hand, elements of complex variables are removed from within the corresponding declaration, including their contents. In doing this, the contents of variables can be deleted either implicitly or explicitly: explicitly with the FREE-VARIABLE command, implicitly each time a new value is assigned. (Because before a new value is assigned to a simple variable, its old contents are deleted.)
Variable declarations can be deleted with the DELETE-VARIABLE command.
On the other hand, elements of complex variables are removed, together with their contents, by means of the FREE-VARIABLE command. It is then no longer possible to access their contents, nor can they be redeclared.
Note
In this context, it must also be noted that variable declarations and the contents of variables also depend on their lifetimes (see also section “Scope of variables”).