I truly believe that Java & .NET are not so slowly following the path of Applets, and more recently, Flash, JavaFx and Silverlight. For startups is a no brainer solution to go for a technology stack like HTML5/Node.js/Mongo|Redis|Couch than the old one. Think in terms of complexity: No ORMs, no additional serializations, unique language across presentation, service and data layer, to say something. And I consider myself as a Java developer, but after working with this new technologies its clear for me that they are a gamechanger in almost every aspect.
Sure, it depends on the use case. Again, if you are going to develop some internal bank apps COBOL is the way to go.
If you require high performance, maybe C is better for some cases. So it depends, you are right. But the market is turning to new technologies (under the JS stack) and slowly abandoning typical client/service technologies like Java, IMHO. :)
COBOL is still relevant, also :) The thing is: if someone ask me for a recommendation TODAY to create applications, i wouldnt recommend Java or .NET at all. There are much more simpler and effective technologies, specially for the web.
From a perfomance perspective, having the option to manually admin memory would be an advantage. But it is more complex indeed. On the other hand, main advantage of gc's is the fact that hides the memory management complexity. In most of the cases i tend to think that memory management wouldnt be needed to get a proper performance. In most of the cases, but not any case :)
A good reason to use cloning is if setting up the state of an object is harder/ expensive and you just need the copy to change the state for some reason ;)