Como geralmente uso a UML mais como ferramenta de comunicação do que como ferramenta de modelagem, às vezes tenho a necessidade de flexionar um pouco a linguagem, o que torna as ferramentas de modelagem rígidas bastante difíceis de manejar. Além disso, eles tendem a ter uma grande sobrecarga para o desenho ocasional. Isso também significa que eu não dou nenhum ponto de bônus às ferramentas que lidam bem com a modelagem de ida e volta. Com isso em mente...
Ao usar o Visio , costumo usar esses estênceis para minhas necessidades de UMLing (o tipo embutido de sucção). Pode ser que eu tenha me acostumado a ele, pois é a principal ferramenta de diagramação em minha tarefa atual.
O OmniGraffle também possui alguns estênceis UML integrados e mais estão disponíveis no Graffletopia , mas eu não recomendaria isso como uma ferramenta de diagramação, pois possui muitas peculiaridades (peculiaridades que são boas para muitas coisas, mas não a UML). Avaliação gratuita, porém, por todos os meios ... :)
Eu tenho experimentado o MagicDraw um pouco, mas, apesar de funcional, achei a interface do usuário perturbadora.
Caso contrário, acho que o Topcased é um projeto interessante (ou grupo de projetos). A última vez que o usei ainda tinha alguns erros, mas funcionou e parece ter evoluído muito bem desde então. Funciona muito bem em qualquer plataforma habilitada para Eclipse. Livre como no discurso e cerveja :)
Quanto à ferramenta de diagramação Dia , é bastante feia (interface e desenhos resultantes), mas faz o trabalho. Uma alternativa gratuita de ferramenta de modelagem interessante é o Umbrello , mas eu realmente não o usei muito.
Eu definitivamente concordo com a mashi que os quadros brancos são ótimos (junto com uma câmera digital ou celular).
Provavelmente, algumas das melhores ferramentas que eu usei pertencem à família de ferramentas Rational .