Bubble gives you more options… you can point one way, point the other way, point both ways, or use a joining table. The “best” way comes down the nature and size of the data and how you plan to search/display it.
If you want to understand good frameworks for which ways to go, a couple of great resources are:
Buy and read this book (in my opinion, a must read for anyone building a data intensive Bubble app): The Ultimate Guide to Bubble Performance - how to build fast, scalable applications in Bubble
And this post is a fun one…