This is quite an advanced topic to comprehend, for the most part, you’ll actually need to read the code of the plugin and or theme to understand what’s going on. Traditionally, when you have a program and plan to make some changes to its UI or its output then you will have to apply the code manually and update the program.
With WordPress, when the developer allows you to, you can literally put in the code without actually adding the code to the source. This provides flexibility, though there are some plugins and or themes that generally don’t add in hooks, most of the popular ones do. Worst case scenario you can contact the plugin/theme support theme and ask them for developer-level documentation or if they have any hooks.
Still don’t quite understand what I meant above? Here’s a dumbed-down version :3, What you are basically doing is changing how the program works through code. Imagine getting your new phone, you can install any application and buy all the latest gizmos like a power bank or a screen protector. What if you want to change the phone internally? Of course, you’ll say “We open it up and change” yes that’s right but the WordPress Hooks and Filters allow you to change it without opening it.
Now you somewhat understand what those are for, here is a great youtube tutorial that I personally watched to understand the topic.
Part 1:
Part 2: