Difference between various ways to add-ons/integrations

Integrations are written in python.
Add-ons are written in any language you want.

Deciding between integration or add-on depends on how you intend to expose functionalities.

If you are limited to nodejs, then you only have add-on as option.

Ingress, web server, events, … they are examples of how to expose functionalities with add-on.