While Java admittedly has a solid underlying core, the criticism is for the entire platform, which has some significant problems, some technical, some security, and many organizational.
That said, I'm not sure what technical problems you're referring to. The JVM seems to work quite well on all platforms, even if it can be kinda clunky to program in Java at times. (which is part of the reason I mentioned other languages) And yes, I know the JVM is slow to start. It isn't designed for small scripts. Use Python or something else for that.
If regular users were commonly aware of what browser plugins they actually need, and knew how to go through the list and disable the ones they actually didn't need, that would mitigate things somewhat.
That's the problem - the 'bad' installer/update makes good software into 'bad' software
On my Windows gaming box I get a dialog box that says jusched.exe : cannot verify certificate of somesubdomain.oracle.com. I don't know if I'm more or less at risk if I press "no", but I guess the average user is just going to press "yes". So I guess my Java is now out of date but I'm not going to install software with admin privileges if there's a problem in validating certificates.
I will never ever install Java on a Windows box again. I did install it because I wanted to play a game written in Java. The game was unplayable because it was so slow and jerky - because it was written in Java.
There may be bits and pieces of cool tech inside, but for the vast majority of computer users, Java is crapware.
Both Sun and Oracle fucked up on the naming.
Please know the difference between bad/customer unfriendly handling of installers/updaters, and actually bad software.