All of them!
All those methods, and others, can work really well in all sorts of places. It's a very subjective thing, and the best advice I have is "ask your teams to work together to decide which one is best for each team"
In my experience, I tend to use several methods, not just one.
So, I apologise for the essay, but this is something that crops up a lot. I want you to know that you're not alone - people are struggling with this all the time.
But, the TLDR version: You need to do what works best for your teams!
Recommended Learning For You
Level up your skills with Atlassian learning
Jira Align Program Essentials
Learn how to use Jira Align at the program level and how to plan for and manage your Program Increment (PI).
Managing Agile Boards and Reports
Learn how to pick the right board type for your team and customize it to fit your specific requirements.
Atlassian Certified Associate
Jira Software Board Configuration
Earn an associate-level credential from Atlassian that shows you can effectively configure Jira Software boards.