The Self unit returns the game object that owns the machine in which the graph runs.
Most of the time, units will default their target to self so you don't have to explicitly use this node. This means that, for example, these two graphs are equivalent:
However, not all units support the self inline value. Those that do not will display None instead of Self in their default value field, for example the Destroy unit. In these cases, you must manually specify the connection if you mean to use Self:
You can use the self unit even in macros even if they are not "yet" owned by a game object. The self node will represent the owner of the graph at runtime, when it's used in a machine.