If you look at the nature of product recalls, they're generally recalled for one of three reasons:
Product is inherently flawed or otherwise unsafe and cannot be corrected. This covers things like manufacturing the chassis of a product with flawed materials, or using the wrong material, or a design whose intended use is inherently unsafe. Two examples I can think of off of the top of my head are Lawn Darts, whose very concept makes them unsafe, and the Perfect Flame grille, whose housing was magnesium and prone to igniting in a metal-fire.
Product has minor flaws or only a risk of safety-issue, but correcting those flaws will cost too much to achieve. Inexpensive home goods may fall into this category, and sometimes when food products are recalled en-masse it's like this- only a few actual package of a food item may be dangerous, but it would cost far more to test all of the food for the danger than it is to just throw it away.
Users misuse a product and it's not possible to correct user-error. At first this doesn't sound like a product problem, but casual-use products are not supposed to require advanced training to use. There's a threshold for the number of incidents relative to the userbase to be considered, and if too many users are all having similar problems then that's indicative that something in the product itself needs to be changed, as changing human behavior on a large scale is not easy.
Unfortunately software has been allowed to violate #3 and arguably the others for a very long time, as the push for newer/faster/prettier has trumped all other considerations. It's about time that we acknowledge that we haven't really made much improvement in UI in the last decade and that at-best we're reimplementing the wheel, and that we need to forcus on the underpinnings.