Always remember that a Blockchain is Immutable.
Immutable means a data once written can not be altered(or removed).
There are 2 major scenarios for this:
1. Public Blockchain
2. Private Blockchain
---> In a Public Blockchain, the data is present in all the nodes that has accessed the blockchain and to remove the data from the blockchain, one has to erase the data from all these nodes.
But, this is not possible considering the lack of access to these nodes.
Let us look at the following example for easy understanding:
If you send an email to a number of people, you can not just unsend the email. If you want the data(email in this case) to be removed, you will have to delete the email that you sent, from every account that you sent the email to. And the probability of this happening is incredibly low.
Along with limited access to nodes, validation and verification of blockchain also prevents data alteration.
Hence, in a Public Blockchain, the data is immutable.
---> In a Private Blockchain, the end user might have limited access to the data and might not be able to change the data. But a person with high access privilege(such as a system administrator) may be able to change the data if he wishes to.
To avoid the risk of data alteration by a high privileged user, usually in organizations that use blockchain, the responsibility over the data is divided among different people.
This ensures that the data can not be altered by an individual without getting detected.
And yes, the hyperledger remove asset only updates the state of the database that the current state is removed and does not remove the data from the blockchain.