A dynamic plugin is one that can be loaded into an application and used without restarting the application. There are two types of dynamic plugins:
Some version 1 dynamic plugins, that can be deployed via the web UI, available only in Confluence.
Version 2 plugins, that are dynamically deployed on an internal OSGi container to provide a consistent set of features and behaviours, regardless of the application the plugin is running on. Version 2 plugins have to be specifically declared as such, using the plugins-version="2" attribute in atlassian-plugin.xml.
Read about dynamically reinstalling/deploying plugins during plugin development using CLI in the Atlassian Plugin SDK.