Here is the list of my favorite:
- PlantUML - very powerful tool. It supports very intuitive diagram language. Seven diagram types, nice styling. And very good documentation.
- UMLet - It's true sketching tool. Very very simple. And you shouldn't expect sexy UI ;-) BUT! It's so "right tool for the job". You just have to try it.
- UMLGraph - It can be used to generate UML class and sequence diagrams. It has nice integration with javadocs tool.