In the good (!) old days with java I used to keep the uml class diagram and the actual source in sync since the tooling allowed me to edit the diagram or the source and the other would reflect the change.
Being able to see your domain model or your database schema visually helps a lot to pinpoint design flaws or improvement opportunities.
I like staruml because it can export your model (via a plugin) as plain javascript objects which kind of helps out especially in the beginning of the project. From there on, I can add my schema information (simpleschema/astronomy).