The added and removed events are for when some type of element is added to the workspace (ie nodes, notes annotations and connectors). This is useful if you want to know if the user has added or removed something and react to it… for instance, i have an extension that listens to new groups (annotations) being made so i can automatically change the colour. I also have another extension that tracks nodes being used, so i need to know when they are added/removed.
When a graph is closing/clearing, from what i understand all elements are cleared, that’s to say, unloaded from the graph space. I haven’t found a need for this event, but you might.
I havent used the request node centered event nor the current offset changed, but i can only assume the first is when the user focuses on a node via the [ ] button and the latter is when the user is panning in the graph (not sure on these though, just a guess until I test or someone else corrects me, try fire up a message box or put a breakpoint to flag when the event is fired).
There’s also the PropertyChanged event which is very useful and allows you to watch for certain changes to named properties. I would suggest leaning about MVVM patterns if you dont know what this is.
I would recommend searching on the Dynamo Github as there is usally something that has what you need in it, maybe in the tests directory. Pretty much how i started learning. I also think there is some learning material on there too and also on AU website from the past AU Vegas classes.
I hope that helps a little.