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.