This can be somewhat context sensitive, and I'll try to outline that here.
juju destroy service does a few things. First it sends a command to the juju state server that every unit in this service group is to be destroyed. This then has a chain reaction into the following events:
The stop hook is typically responsible for a few concerns.
- Stopping the service
- removing any responsible application files/configuration that were populated during the service lifecycle.
- Preparing any backup(s) of the service that are required to restore (in a well formed charm)
The service is then removed from the juju topology, along with any units that made up that service group.
The resulting machine is tagged dirty so it's not reused for a new deployment and left in the environment for you, the orchestrator, to fetch any leftover data if you wish, and can then be terminated with:
juju destroy-machine #
The # being the unit number of the machine.