Cars are just a ruthlessly optimized collection of parts that, individually, few people understand. Not unlike software. Unless you're a specialist, you wouldn't know "bad insides" of a car from "good insides" if you took a look under your car's hood.
The way I see it, programmer perfectionism comes from learning - the projects you do for yourself, early on, are small enough that you can hit perfect trade-offs on your limited needs, and you aren't under time pressure. You quickly learn you can achieve near-perfection - a lesson which stops applying when working with any nontrivial codebase at work.