It might be somewhat of a dry topic but I’ve found UML Profiles to be very useful in the past for two main reasons:
Why? Well, a UML Profile allows you to markup UML models and elements with stereotypes that convey extra information to either the tooling or to the reader. With the advent of UML 2 this extra information can be maintained separately to the model and is therefore independent of the tooling used allowing you to share this information without needing to share the same tools. Does Visual Studio 2010 support UML Profiles? Oh yes :-) and here’s an excellent introductory article from Cameron Skinner.