Well, no, neither approach is better than the other, it’s apples and oranges.
There will always be a place for installing native applications. In the least analysis, the container itself should probably have some dependencies packaged for the target program.
The benefits of containerisation are obvious, but it’s been a lot of work and there are still edge cases to iron out.
FreeBSD has had jails since 2000. Linux, however, only got namespaces in 2008 and the first bubblewrap release on GitHub was 2016.
I’ve been using chroots and containers for development for about 2 years now and it’s been fantastic, however, I’m still grateful I don’t have to jump inside one every time I need to write a python script.