A WordPress Plugin:
- Executes only when individually activated via the Plugins panel.
- Applies to all themes.
- Requires specific unique Header text.
- Is stored in wp-content/plugins, usually in a subdirectory.
A functions file:
- Executes only when in the currently activated theme’s directory.
- Applies only to that theme. If the Theme is changed, the functionality is unused.
- Requires no unique Header text.
- Is stored with each Theme in the Theme’s subdirectory in wp-content/themes.