My choice for Enterprise apps and web development. Super IDEs, frameworks, and developer community. Cons: speed, memory pig, EJB development is a drag.
Very stable and runs on multiple platforms. Lots of great tools to debug and monitor applications. Simple to write multi-threaded apps that can use all cores on a server. Easy to add 3rd party tools. Cons: Really easy to write slow and/or bloated code if you don't understand what you are doing (e.g. poor use of Strings).