Jira can be a task manager, a bug tracker, a service desk ticketing system, a project planner (regardless of methodology applied), a Kanban board, a knowledge database and so much more if you know how to configure it. That's also why sucks in many cases. You end up in these weird situations where you have a service desk ticket marked as an Epic, or on person on the team uses a kanban board, while the rest are just going by a different priority. Sometimes priorities migrate from you service desk to a SCRUM project and things make no sense.
You can work pretty well with Jira, if you can stick to one set of feature and keep the entire organisation locked to one type of projects. There are some things it's not good for, I don't see it as being a good project planing tool, regardless of how you try to use it. As a service desk tool it's pretty good.
I will say Jira is much better something like Phabricator or Bugzilla. Neither of those are alternatives, Phabricator is the closet, but it still doesn't do all the things Jira does.
(Disclaimer: It may be harder to justify hiring people full-time to manage these alternatives.)
EDIT: fixed typo
It includes Jiras killer feature, links between issues, across projects.
But...
It can't sync issues with github, it must fully be the source of truth for everything. This made it a non starter for us, we tried but it just can't work when not every piece of work by everyone is in linear. Even Jira allows sync.
It also didn't allow enough detail. For lightweight task management it was great, but when you have big discussions it was weak.
Github is great, but is missing issue links and better lightweight planning like tasks lists that auto update when linked issues update.
If you’re looking for something you can configure every little bit of for a very large team (like Jira) it may not meet your needs, but otherwise I highly recommend.