Well, nothing new.
In Java a lot of code is still written for Java 6.
C++11 is not even fully supported from compilers
And Windows Xp still have more than 30% of market share.
The implementations become more complex, which in turn can result in bugs, development delays, and so forth.
Additionally, it allows users of said technologies to continue to use techniques and functionality that have been observed to be outdated, bad or even harmful. You mention Java, which is a good example of how cruft can linger for many, many years, and continue to be used in that time.