Attributes and Reflection -

Can someone please help me understand why these two things are important in C# programming? Why would I want to make an attribute for my application? Also, why would I want to use reflection to see what attributes are in other applications?

The only use I have found for attributes is with the versioning and copyrighting of files I produce.

-- Ethan --