.NET itself uses attributes at many places. For example to declare your component as transactional you can use special attributes. The attributes can be used for variety of other purpose like specifying author information, copy ...