Godot is all about objects and inheritance, so you should feel right at home. "Scene" is just an organizational concept.
There are many ways in which a game may need to process inputs: gui inputs, actions, etc. InputEvent is your "event" you're looking for.
As for what processes it, "everything" doesn't receive a click unless you want it to. For example, if you don't override
_input() on a particular node, it's not going to receive any input events. There are GUI (Control) nodes which can intercept events and not propagate them, or pass them along.
Have a look at the flowchart here: InputEvent introduction. Input events can be consumed by objects and not propagated to others in with whatever priority you may need.
There are lots of differences between Node2D and Button. The latter is a Control node, so it includes GUI-related styling, scaling, and input methods. A Node2D can be configured to capture inputs, because you might want to click on game objects or control a character.
Games have a lot of unique needs versus a typical business application. It may be a different system than you are familiar with, but I would suggest you try and approach it with an open mind before assuming it's "broken".