Should a simpler design replace a more convoluted one, should the former achieve the same goal than the latter? Yes indeed! This is why researchers strive daily in order to improve their algorithms. This is why there will always be work for these type of skills.
Can you make coffee using a moka pot? Yes indeed, this is what it was designed for. Can you make the same (or almost) cup of coffee using a tea sifter? Yes you can, it would just require you to put some manual work in order to filter the ground coffee out of the water.
However, while the tea sifter will never require any maintenance, the moka pot is going to have its ring gasket replaced every now and then. Moreover, which design is less material intensive? Just by looking at both items anyone could easily come up with the right answer: building a tea sifter requires less metal and plastic than a moka pot.
As the world becomes more and more aware of the impact of a wasteful usage of resources, the importance of efficient algorithms and slim network protocols might increase significantly in the years to come, which would reverse the current trend. In fact, knowing that the cost of hardware is constantly falling, companies might not have felt the need to optimise their code as updating CPUs and RAMs would still cost less than hiring senior programmers. For the same reason, referencing over the network huge archives just to use a couple of methods here and there might, in the future, be flagged as a bad programming practice, should better alternatives exist.
While at this present stage, a program that makes the CPU fan spinning at top speed might just be annoying to the final customers, tomorrow this might instead be something Governments might decide monitor. Compilers of the future might, for example, refuse to build programs that contain inefficient loops or routines that would just waste CPU cycles.