Imagine in this way! Theme defines MAIN STRUCTURE for whole
site! Theme is something like structure for a Post, a Page or a
custom post type, custom page,..! So far you know theme is
really HTML code! In the end of Wordpress excute, it returns
HTML code to browser, and browser display for you! That HTML is
build based on theme file (index.php, header.php, footer.php,
single.php) Plugins use hook& filter to modify theme BEFORE we
output to browser! If you want to add social buttons to end of
post! You can change single.php and add code to put some social
button right below the_content()! But you can make a plugin to
use Wordpress's filter& hook to change HTML of post, to append
you social buttons! But what happen if you put plugin code in
theme file? Assume you put some functions to render content into
functions.php of theme! Then call those functions manually
somewhere on your theme! Or even better, you can use hook&
filter to auto change content without manually call in theme! So
as long as wordpress can inc