ahhhhhhhhhhh.
1. The file sizes can be rather large (less of a problem these days)
2. IE6 improperly displays PNG alpha (This is big one).
Even the "IE7" javascript hack (http://dean.edwards.name/IE7/) didn't really catch on.
It definitely got a bad reputation due to it's inappropriate name (trying to jump on the Java bandwagon, nothing to with Java whatsoever), copy/paste JavaScript snippets of the late 90s (giving us exciting features like blinking/scrolling text, fun cursors, etc), ginormous browser inconsistencies, and the use of prototypal inheritance instead of classical inheritance.
It's much more than just a means to push bits from server to client. It can be a very subtle way to get entire networks of computers to cooperate in wonderfully scalable and flexible ways.