Plugins are elements, actions, events or data sources that are not part of the Bubble core, but that you can use in your application.
A plugin can add different things to your app, or a combination of these things.
A plugin can add some code in the headers of your page and enable some background services in your app. Analytics services, for instance, are a very common background service that can be added to an app (Google Analytics, etc.).
Plugins can add API connections that can be used in the 'Get data from API' datasource. Getting songs from iTunes, fetching animated GIFs fom Giphy are examples of API Data sources.
A plugin can add an authentication method to your app, through OAuth. OAuth (Open Authorization) is an open standard for token-based authentication and authorization on the Internet. It allows an end user's account information to be used by third-party services, such as Facebook, without exposing the user's password. Practically, you'll be able to add a button to your app 'Login with Facebook', and users, instead of typing a password in your app, will authorize Facebook to grant access to your app.
Many elements in Bubble are coming from plugins. Bubble's core elements only offer most common elements, as soon as you want to add something specific to your app, like a slideshow, an Excel-like table, etc. plugins will be the way to find these elements. Practically, these elements will function and behave similarly to Bubble's core elements in run-mode. Note that in edit mode, Community-built elements are not rendered, and will be displayed with a placeholder image.
Plugins can add actions that connect with external services to your app. For instance, post something on the user's Facebook wall, send an email with a different provider, charge a credit card, etc. These actions behave in a similar manner as core Bubble actions.
Plugins can be used to extend Bubble with your custom functionality as well. If you need some specific code to run, connect to a company's backend, you can write your own plugins and add them to your app. See the relevant chapter below.