Regarding my friend in the OP. He teaches software engineering, supervised the design of the software that runs our car's engines and has traveled to other countries to work with and train these over seas programmers.
Anyone who has called tech support and been put through to India knows that it takes 5 times as long to solve an issue than it would speaking to someone here at home. Of course, in Bangladesh they work for 1/10 the wage.
Of course there are other reasons products might have design flaws, but I do believe a big part of it is that the engineers designing the products don't use them. Recently, I purchased an expensive blue ray player - the remote doesn't light up. That, and it is not at all user friendly. Recently, I bought an alarm clock that required a college course to set the time - it's ridiculous.