Each has their own advantages. Paid traffic can bring you fast results as compared to free traffic, that makes it easy to scale and grow your business a lot faster.
With free traffic you have to be hands-on, basically you exchange money for time. The advantage here is in the long run, once you've built a strong following then you simply market to them instead of paying every time you need traffic. With free traffic there's no risk involved, unless you're spamming then the risk is getting banned.
My advise would be to use both if you can.
But to answer your question in short: It really depends on how soon you want to see results, budget and how much time you got in your hands.
If you want to see fast result then paid traffic is your best option. If you have a good budget then paid traffic might be a good option as well. If you don't care about fast results and don't have a good budget then free traffic is your best option.