If you are brought up with metric units, the units are built around the number system.
A good way to understand the problem by for the HN audience is the problem of using IEEE floats where precise numbers matter in programming. The problem with IEEE floats is that we usually think about them in base 10 but they represent something in base 2, and no lossless conversion across the domain is possible. American units bridge that sort of gap much better than metric ones do because they usually focus on divisibility than on quick representation and conversion.
There are certain areas where metric makes sense. If I have prices in kg and I want to know how many g I can buy for a certain amount of money, because the money and weight systems coincide we are well optimized for that problem.
But, imagine calculating the angles of a triangle or a hexagon if your degree system was base 10.
In other words, American units are abstracted around actual application.
There is of course a happy medium. We could change to duodecimal numbers and come up with a duodecimal metric system. Then everyone would get what they want, right? ;-)