This is precisely why I hate comparing building software to building bridges. Nobody builds bridges without knowing exactly where that bridge will be standing, but it happens all the time with software - furthermore same piece of software usually must fit all kinds of "unpredictable geography". As such, yes, I do think that building software is a problem far more difficult than building bridges.
Which leads back to the number one reason why software projects go bad; not knowing what you're meant to be building because you didn't get clear requirements. The number of times the requirements gathering has ended up with questions genuinely being answered "we don't know what we want" makes me want to hurt myself.