- That's not really comparing eggs with eggs - KML is a format for (geographic) data exchange, the JS API is a programming framework. That's like asking which is better - comma separated text or Visual Basic? (perhaps I have misunderstood your question?)
- You can either purchase Esri's Portal product or write your own converter for translating KML to JSON for consumption by the API classes. (or you could write your own KML layer class to consume the KML directly)
on 1: rephrase: If I want to display 1000 placemarks/markers/PictureMarker in arcgis browser map, do I get that faster by using a KMl/kmz generated on server or by adding one by one in arcgis javascript api (we having only 5 types of markers == 5 different icon) ?