Depends on the 'scope' of that specific variable.
The scope of a global is 'use it everywhere in the event sheet(s)'. Roughly said: conditions & actions can see it everywhere in the event sheet.
The scope of a local is 'use it only in its own event (and subevents)'. Roughly said: conditions & actions can only see it when they are in that particulair event.
Say you have a global and two events. And you adress the global in the second event.
If you would drag this global into the first event (making it a local), you create a 'scope' problem.
Because that second event (where you adressed it as a global) can no longer see that variable anymore, as a (newly made) local it can only be adressed in that first event, no more in the second event. Conclusion: you can not do that, have to recode things, or leave it as it is.
There are more situations. But Construct is so friendly to warn you.