Why I don't use EssentialsX

And you probably shouldn't
Before starting
This post is entirely my opinion, it is written entirely from my experience and should not influence yours,
please read the entire post before making your own conclusions.
Also, are statements here are made trying to keep the upmost respect to the EssentialsX team.
This is written from a developer's point of view and, in theory, should also apply to similar plugins like CMI or Sunlight.
What is EssentialsX
EssentialsX is a plugin suite, which provides over 130 commands for servers of all sizes.
They also provide extensions like EssentialsChat, EssentialsDiscord or EssentialsSpawn to extend its features.
How much of Essentials do you actually use?
Be honest, how much of Essentials do you actually use?
Do you use all 130 commands? Have you read their configs fully?
If your answers are yes (or mostly), then you're good, you're making good use of EssentialsX 👍
If any is no (or barely), then you don't need an entire suite for that.
Do one thing and do it well
In Unix, we have something called the Unix philosophy, and one of its statements is Do one thing and do it well,
which means that programs should focus in one task and excel on said task.
This statement has some reasoning behind it, one of which is that dedicating a program to a single task allows the developer
to continuously improve on that very task.
How does this apply to Essentials?
Let's look at EssentialsChat, it provides chat colors, prefixes and formats per groups.
What about chat moderation? Clearing the chat? Channels? Display items in the chat?
If you want any of those, you will need an additional plugin, at which point you will have replaced EssentialsChat entirely.
Look, for example, at CarbonChat which contains all the features I mentioned above and more.
It is a plugin that specifically focuses in chat features, and excels in all chat related features.
You only use Essentials for /tpa, /warp, /home and such?
Give AdvancedTeleport a look, it even has some cool title-based
countdown animations!
You want to use /vanish?
Give SuperVanish a chance! Ignore ProtocolLib, is not required
And those are just examples I thought on the fly while writing this, there are plenty of plugins that do one thing and do it way better than Essentials.
What do I use then?
Anything!
Take note of the features you use, and look for alternatives.
If you're afraid to mess up, you can always ask someone else for recommendations, or even ask in a community.
Don't confine yourself to a single plugin that does everything with limited capabilities. And don't be afraid of managing
multiple plugins instead of one, in terms of updates, not all require constant updates, and in terms of performance, the plugin number
does not affect server performance, is what the plugins do inside what matters.
Should I never use Essentials?
That's up to you.
Personally, even I recommend Essentials sometimes to people that just started learning how to make a server.
It's easy to use, and brings everything out of the box, enough to prevent scaring someone by teaching them how to use Google.
Even if you're already experienced enough, it still has its uses.
If your friends ask you to create a server on the fly, you all have already been playing for hours and just want to
play Minecraft quick before disconnecting, you probably have less than 10 minutes to set something up before everyone gets bored.
Why not just deploy a vanilla server? Maybe you need /tpa, /spawn /home
It doesn't happen often, but does happen.