Epics should be used when you want to group a bunch of issues together for visibility and easy tracking of percentage done. Think of it like a traditional project level grouping where the project has a defined start and end date.
We typically do not use story or task but create our own issue types because Story and Task are too generic for the work we do and it makes it harder to get metrics.
Here's an excellent blog by Mike Cohn on the differences between Story and Task:
Hi, Jira users! Do you use Jira alongside Microsoft Teams? We want to hear how you’ve used the power of Jira Cloud and Microsoft Teams (via the Jira Cloud for Microsoft Teams app) to achieve a team...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events