Making your own plugins is a fully different beast from installing plugins you need, but with that difficulty comes much freedom and opportunity. If you’re knowledgeable about PHP, HTML, and CSS, then you can spin up plugins that do exactly the things you need at any point in time.
On developing your own plugins, the positives mainly come from the aforementioned freedom to develop however you wish. This means if there’s a function that you want for your blog, then you can craft it together with enough time and dedication. Working on developing plugins also means that you develop additional skills in regards to web development: learning the ins and outs of working with multiple languages, knowing how to intertwine them to build the plugins you need, and how they could be applied outside of building a website is a major plus in regards to showing off your skills. The REST API in particular can be used in mobile app development and is mighty useful.
The downsides to plugin development are quite serious. For one, the lack of knowledge means that building a plugin is very time consuming. You are required to learn pieces of 3 languages minimum to get an idea of how to build what you need, and much more if you consider extra features such as data validation, web security, SEO, etc. This leads into the other problem: you are the sole developer that needs to maintain and update your plugin to ensure reliability. This means with future WordPress versions you will have to make sure they’re compatible, as well as making sure no conflicts come to pass with other plugins, themes, and widgets.
Positives to using other plugins
As for developing a plugin vs grabbing one from whichever directory suits your needs, utilizing a library plugin means you won’t have to go through the hassle of developing a plugin. This cuts down on site building time and provides you features you were already looking for. Library plugins also mean the action of maintaining the plugin is passed on to the author, meaning as long as they’re active, you’re able to work worry-free.
Drawbacks to using other plugins
Drawbacks to this approach means you may not find a plugin that exactly suits the needs you were looking for. One plugin may be just slightly off on the function you want, another may have the feature locked behind a premium purchase/subscription. The other end of the scale can be true as well: a plugin could be too feature-heavy and involve much more than what you would need, bloating the website with more than you bargained for. Passing off the responsibility to the plugin author also inherits the vulnerability of doing so: the plugin could potentially stop updating one day, be exposed to exploits outside of your control, and more.
There is always an inherent risk when making the choice to develop your plugin or utilizing an existing one. Determining the right course of action comes down to analyzing your needs, doing research on existing plugins, and figuring out what’s best for you.
Samples of files to test out custom linked file icons, check out this photo of a cat and a pdf of this field guide to bird identification