Sure, I can go into more detail. Everything I will talk about will be taken from the
custom function documentation. Custom functions are (to me) the most powerful thing about google apps script for a few reasons.
1. They recalculate whenever the data changes, not strictly from human interaction.
2. They have a set of things they can do without permissions being explicitly granted.
3. The data the function is watching get's passed as an argument to the function almost instantly.
I define watching as the range given to any formula or custom function that is needed to perform the calculation.

Whenever the data a custom function is "watching" changes, the function recalculates. In the example above A1:B2 is being "watched" by the custom function in C1 called double. That alone is already pretty powerful, but combined with the ability to run with limited permissions, it's a game changer.
In the list above you see one of the available resources is URL Fetch. So whenever the custom function runs, you have the ability to make fetch calls. You can then use that to call your own web app in the same or any other script file to perform some work.
To conclude, whenever data changes the custom function runs. Whenever the custom function runs you can make a fetch request, whenever you send the fetch request, you can send whatever information you want. For example you can you the SpreadsheetApp to get the active sheet and send that to a central "server" that runs a function on that sheet.