It often occurs across different open Notebooks, ie evaluating a cell
destabilizes the output of another cell in a different Notebook
This happens if the symbols are in the Global
context and both notebooks are running against the same kernel. Changing a value in one notebook changes the value in the other notebook.
One way to avoid this is to use notebook specific contexts.
(* Set permanently *)
CurrentValue[$FrontEnd, CellContext] = Notebook
(* Set for current session only *)
CurrentValue[$FrontEndSession, CellContext] = Notebook
When I share notebooks with others I usually include the latter as an Initialization
cell so any definitions in the notebook do not pollute the Global
context.