Integrations and add-ons are not the same thing.
Integrations connect Home Assistant with devices and external services. Many of them are for vendor-specific devices, such as Philips Hue lights and switches; others, like the Sun integration provide a service - in this case using your location to track whether the sun is above or below the horizon. Either way, the device or service is represented in HA in a standardized way, allowing it to be connected with everything else.
To find and install an integration, go to Settings | Devices & Services | Integrations. Most can be installed via the GUI, but there are still a few that require configuration in yaml - if this is the case, the Add Integration dialog will give you a link to the documentation.
Add-ons are additional standalone third-party software packages that can be installed on Home Assistant OS, such as Mosquitto, an MQTT broker. Most of them have an associated integration - MQTT in the case of Mosquitto.
All HA installations support integrations, but not all support add-ons:
Under the hood, add-ons are actually separate Docker containers managed by the Home Assistant supervisor. This is why they are only available with either HAOS or HA Supervised installation methods. However, most add-ons can be found (and were likely originally developed) as separate Docker containers before their add-on counterparts were created. If you run a non-supervised installation method and have the ability to run and manage Docker containers yourself, you won’t miss out on any functionality provided by add-ons.
To find and install an add-on, go to Settings | Add-ons.
Custom integrations are created by the community and are usually downloaded through the Home Assistant Community Store. Many of them have thousands of users and receive regular updates. but they are not tested or supported by the Home Assistant developers, so there is no guarantee that they will remain viable in the long term. HACS also provides a great many custom dashboard cards, but it doesn’t supply add-ons.
If you use HACS integrations you will get messages in your logs like this when you restart:
2024-03-29 11:27:55.731 WARNING (SyncWorker_4) [homeassistant.loader] We found a custom integration zha_toolkit which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
This is a standard warning - nothing to worry about.