We do in software development too. I said that twice already. It's just almost impossible to actually find out concrete rules that way.
> without them we are not really capable of coming up with any meaningful conclusions.
Nonsense. Scientific experiment is NOT the only way to learn about the world. It is the best way where practical, but it simply isn't always practical.
Think about something like UBI. Using scientific experiments to determine if UBI works you would have to take N countries, have half of them implement UBI for 100 years, and half not. Good luck.
> Because it does not provide any meaningful insight into what should or should not be done to improve it.
It does. Code smell is usually used to describe code that is suspicious or uses practices that are known to be highly unreliable (e.g. regex). The thing to do is to either rewrite it in a more robust way or if you can't do that for some reason, to add a lot of testing.