Why does TopComponent have a getLookup() method? What is it for?
In modern NetBeans, the global selection is really whatever objects are in the focused TopComponent's Lookup. It so happens that most standard TopComponents display Nodes - so for most TopComponents, the component's Lookup is just proxying the Lookup of the selected Node.
Rather than thinking of the selection as some specific object or Node, it is more useful to think of it as a grab bag of stuff provided by whatever component happens to have focus. If you use Utilities.actionsGlobalContext(), you do not have to track all the different grab-bags of stuff provided by different components - you can get one grab bag of stuff which whose content will simply change (notifying you in the process) when focus moves to a different component.
So the TopComponent's Lookup is a way to provide your particular grab bag of stuff - it can be the lookup of a Node if you want, or it can be/contain whatever else or in addition you'd like to put there.