There was one project make I worked on where we used Enterprise Architect to make UML diagrams which we round-tripped (forward- and reverse-engineered) with the C# source code.
It (UML) wasn't good at defining the implementation of each method (using sequence diagrams), but it was OK defining the signatures of interfaces and of classes (i.e. the declarations, not definitions, of methods).
It was useful because you could have:
A diagram which shows how a group of classes interact (whereas with source code you see classes one at a time)
Different diagrams with different groups of classes; and sometimes the same class can appear on more than one diagram.
This was for a project where it was a requirement to create design documentation, with traceability from the use cases though design.