Destructive modelling is a workflow where an operation cannot be changed later on when you decide to change something. The only thing you can do is to Undo all your steps back to when you started the unsatisfactory operation and try again. An example of this is when you bevel an edge with . You are stuck if you continue modelling and later decide that that bevel needs to have a larger radius. You can’t fix it easily. You either have to undo back to the original beveling operation (losing everything you did in between), or you have to manually fix it by shunting vertices around or use a fancy payware addon like Mesh Machine.
The term Destructive in Blender, therefore, means “permanently modify”.
Non-Destructive Modelling on the other hand allows you to modify your operation at any time. This is usually achieved by using modifiers. In the case of beveling, you would use the Bevel modifier:
As long as you don’t apply the modifier (which is a destructive operation), you can change the bevel at any time.
The term Non-Destructive in Blender, therefore, means “changeable at any time”.
So why would we want to use the destructive operation to make a bevel instead of adding a Non-Destructive modifier?
The answer is that they work somewhat differently. The bevel modifier is applied in Object mode and therefore affects all the edges in the object. The bevel command works in Edit mode and can therefore be applied to selected edges.
There is a way to use the Bevel modifier only on selected edges using bevel weights, but that takes a little longer to set up. See this article.