Also, I think that relatively, we are still in the early days of software where lots of people are clamouring to invent the silver bullet to make it all work better, but after a bit longer, we will have more experience of what works and doesn't work and we will consign certain things to history.
Think about what medicine was like in the first few centuries? Leeches, trepanning, toxic "medicines", they presumably had the same issues until they established a much better foundation of what works and what doesn't which has made medicine move on.
We will keep some of our cool things but others (XML anyone!) will just die off as we realise they are a solution to a problem that most of us don't have.