Airflow is more important than a heatsink; which is to say that no heatsink will be effective without some airflow - or some way to conduct heat away from the CPU. Also, for whatever airflow you have, the cooling effect can be improved with a better/bigger heatsink. The heatsink draws the heat out, but it takes some airflow to dispose of that heat!
When I researched and considered solutions a few weeks ago, I decided to go with a small aluminum "stick-on" heat sink, and more importantly: removed the cover from my case. Q: Why?
There are some who say no heatsink is necessary, but I find this "luddite logic" faulty. If I wanted a Pi that ran at lower clock speeds/had lesser performance, then I would have stuck with my older unit! OTOH, if you're OK with "throttling", then you can ignore all of this heatsink business. But if you're overclocking, then clearly you're not interested in a "throttled" Pi 3B+.