Astah (formerly Jude) is a uml tool with a free community edition. The community edition is only for non-commercial use and lacks some important features that are in the paying (but affordable) pro edition, but it is pretty usable.
Astah works very well, I only have some minor remarks about the interface:
- did not find a way to make an element uselectable (e.g. when you do not want to multiselect all elements in a package, but not the package itself), like you can in Enterprise Architect.
- you easily select sub-elements when you want to select e.g. a class
Some more tips
- Association classes: right click on an association, choose convert to association class
- Astah is in message draw mode, even when not appropriate (if you misclick you add an unwanted message)
- not easy to add methods from diagram to existing classes
- no automatic generation of communication diagrams from sequence diagrams (and vice versa)
- unlike sequence diagrams communication diagrams do not
- prompt to add new classes
- support iterations