What is the difference between plugin supported profiles and custom profiles?

Here's a very thorough explanation of the difference between plugin supported 'application profiles' and keyboard shortcut based 'custom profiles'

Each application you want to use with Loupedeck device, needs a profile. Profile contains actions (for buttons) and adjustments (for dials) which triggers a reaction on the target application. In that sense all the profiles are the same, but the difference lies on the action types available for the profile (by the plugin).

Plugin supported application profiles are the ones for applications (e.g. Photoshop) which have a specific plugin support and can directly take advantage of the application's functions. These profiles can be mapped with plugin actions which derive from the plugin itself.

Shortcut based custom profiles are for applications which are not natively supported but which offer control possibility using shortcuts (note: not all software have shortcuts!).
(How to create a custom profile)

Universal plugins are add-on plugins you can assign to anykind of profile. Universal plugins will give you indirect access to supportive applications such as Spotify Premium and streaming applications.

Shortcut based
custom actions or custom adjustments (brown arrow) are always sent to the active application on foreground (the one you see on the display). This happens because all the shortcut based custom actions emulate keyboard input - and everything written with a keyboard is directed to the active application.

Due to this limitation, custom profiles cannot offer very deep integration with the target application. It can do all the same that is available from the keyboard - but of course in much more organized and user-friendly manner.

Some software are designed to "capture" shortcuts before they reach the foreground application - in a case like that target applications can be controlled with shortcuts even if the application is not on foreground or active.

Plugin supported
application profile contains actions which can be sent directly into the application process regardless if the application is running on the foreground or background - only requirement is, that the application is running.

Plugin actions cannot be made by users. All plugin actions are provided by the target application manufacturer - and Loupedeck plugins integrate directly to these functions. This makes it possible to have actions which are not otherwise available, or do not have any shortcut activation.

These functions are called API* functions (* Application Programming Interface) and they are provided within the SDK (Software Development Kit) of the target application.