Why I dislike plugins, but still use them
Part 1: Why I avoid plugins
Speed: This is a big one - JQuery and other libraries can slow down a site by at least 100 milliseconds. Now, 100 ms might not sound like a lot of time, but every little bit of load time has the potential to drive away customers and visitors to your website.
Dependencies also present another security risk - they make your site an easier target. Once someone finds an exploit in a plugin, they can attack multiple websites. If your website is using that plugin, you better hurry and downloads the patch before someone attacks your website.
Part 2: Why I still use them
Although plugins do present quite a few issues, there are some upsides to them. I do try to avoid using them, but there are some cases where the pros do outweigh the cons:
When working on someone else’s code. If you start updating code that already has some dependencies, it’s probably not worth going through and changing all the code.
When it gives you a competitive advantage. This site uses Google’s AMP, which has advantages for page load times and search results. In the case of this site, I evaluated the benefits and limitations (trust me, there are lots), and decided it was worth the cost.
In closing, I think plugins are generally overused. There are definitely times when dependencies help more than they hurt. Just make sure you evaluate how necessary the library or plugin really is before jumping in and including it in your project.
Consider this - if the plugin is written in the same language you are programming in, you can definitely write code that does the same things the plugin can do. Not only that, maybe you can write the same functionality in a way that works better for your website.