The thing is, effectiveness depends way more on how you install it than on the material itself. You can have the most expensive mineral wool on the market but if you leave gaps or don't compress it properly, it's basically not going to work. What a lot of people overlook is that you need an **air gap** between the insulation and the outer wall, even if it's just 2-3 cm. That really makes a difference for traffic noise, because sound bounces before it reaches the insulation.
Mineral wool is still the best noise-to-thickness ratio, honestly. With 5-7 cm you'll get rid of a decent amount of traffic noise. Expanded polystyrene is cheaper but absorbs low frequencies worse (the rumble from heavy trucks is still going to bother you). Polyurethane foam is pricey and takes up less space, but it's harder to install without professional help.
My trick that actually works: before you put the insulation in, line the wall with a layer of acoustic sealant or sealing tape in the cracks, corners, and where the electrical wiring passes through. Sounds dumb but sound sneaks through the tiny gaps. After that, the insulation will actually do its job, not just be sitting there taking up space.