Hi there,
A great compromise between free (but not a lot of features) and commercial (but not too expensive) is Enterprise Architect from
http://www.sparxsystems.com.au/ . It's an incredibly versatile UML tool and only comes in at $89 - $189 (or thereabouts.)
The tools comes in three editions:
1. Desktop
The Desktop Edition is targeted at a single developer producing UML analysis and design models. It includes all Professional features except code engineering (import/export of source code and DDL), the Active-X interface and the ability to share a model amongst multiple users.
2. Professional
The Professional Edition is aimed at work groups and developers. It supports shared projects through replication and shared network file. The Professional version also has an ActiveX interface for interrogating EA projects and extracting information in XMI format. The Professional version also fully supports code import/export and synchronisation of model elements with source code and reverse engineering Oracle, SQL Server and MS Access databases.
3. Corporate
The Corporate Edition is aimed at larger development teams. It supports everything in the Desktop and Professional versions, as well as the ability to connect to MySQL and SQL Server DBMS backends as the shared repository. It also supports user security, user logins, user groups and user level locking of elements.
The desktop version is all I need at the moment. The way I see it, if one is willing to pay $89 for a one-time application like SCEA@Whiz, then one is probably willing to pay $89 for a continual-use application like EA Architect.
I've used Visio Pro 2002 as well as Poseidon UML Professional. But at the end of the day I'll come back to EA Architect :-)
My two cents.
Darryl