I'm personally really starting to like Java, especially the Java+Spring combination. C# is definitely a decent language though.
I think C# had the opportunity to correct many of the mistakes that Gosling made in Java, but along the way MS has made the language much more complicated. There are always trade-offs.
These days though, the focus is less on Java the language and more on the JVM. Lots of folk use Scala or Groovy (scripting) on the JVM which gives them a lot of the stuff Java is missing (closures for example, though they're apparently coming in the next
Worrying so much about backward compatibility and cross-platformness was a mistake. It prevented the language from moving forward.
Yes, companies are dropping the slow, bloated J2EE and using Spring instead.