On my experience, the blame is more between chair, keyboard and monitor than with JVM itself, given the typical codebases I have to review for quality issues.
eh, any app that maintains compatibility with jdks < 7 can't use the WatchService and it's low level system specific API, which includes buttload of enterprise app and but the most recents IDE that are starting to drop jdk 6 support.
then there is indeed the PEBCAK as you say, but you can't really blame people that knows the proper solutions if they have weird jdk to support.
That problem was solved in the JDK five years ago. If you're required to support a ten-year-old, EOL-ed platform because people don't upgrade, that's still not the JVM's fault...