It is anyday better than getting tasks over email.
We had very minimal customisations. A simple set of swimlanes that we update throughout the product development process.
From what you are telling it looks like your team had other problems in delivery. You tried to solve it via Jira by adding new custom fields and forcing people to update them. Solving the deeper issue would have helped there.
I have been able to track my deliverables. See how my team is performing. Plan for the next sprint. Perform retrospectives and capture action items. The tool hasn't broken while doing this. UI is decent. I really don't see a problem with the tool, it serves its goal.
Is there any enterprise scale tool that doesn't, when it isn't managed correctly? It needs management just like any other tool that's being used on an enterprise scale. People just want to be able to set and forget, but then it doesn't adapt well to individual departments and teams. Then people either start messing with it, or if they can't, they start hating it.
The benefit of a smaller tool is then, that teams can just get their own instance and mess that up without impacting the organization.
With Jira, one can create project-specific issue types, fields and workflow.
All that is to say, a human problem is fundamentally a tool problem.
JIRA has a tendency to.... decay. New ticket types are created with custom fields that aren't ever kept up to date. Everyone starts to choose random entries because they have no choice, and no way to add new ones. Once that starts, things fall into chaos because nobody knows the "right" way to file tickets. Tickets soon become immeasurably immeasurable. Projects become categorized incorrectly on a constant basis. The only people who know how to use JIRA effectively are the ones who know how to ignore all the noise. Once those people leave, you're left with pure, unadulterated chaos.
And then you get people who try to fix it by adding a new ticket type or project group, etc. Rinse, repeat.
If you haven't already, then you should check out JIRA's query language and its API. The query language is... special (and doesn't support wildcards, last I checked). Its API, instead of displaying field names as you see it in their interface, shows "fieldname_21234". No joke. You have to run another api request for all of the field names and associate them yourself. It's painful
To your point - sure, JIRA can be used effectively. Though, any bad tool can be used well if enforced. But that's not what most of us have seen in the wild. JIRA eventually just becomes a behemoth of a tool.