-
There are a lot of official and unofficial plugins and components you can use.
I tend to rely on official ones, or developed by involved and trustful people/companies like Pavilion in order to avoid as much as possible any potential issues or discontinued software in the future.
As for what are the differences between a plugin and a component, see Theme-Component v Plugin: What's the difference - #2 by EricGT -
Adding or removing a plugin is just a line of code to add or remove in a configuration field, and then rebuild the application (which takes usually a few minutes): Install Plugins in Discourse
-
There are many guides and how-to about how to develop plugins and components, but I guess the best answer would be “ask your dev team to have a look at some of the most popular ones” as they are mostly open source :). And also take a look at Beginner's guide to developing Discourse Themes and Developing Discourse Plugins - Part 1 - Create a basic plugin