You can think of Metadata as "the data that reflection accesses" - it's the stuff behind the scenes that tells .NET about what the assembly contains, and what properties, methods, fields, etc. the class(es) support. It's automatically generated when you compile.
There is a good article on Wiki about it:
http://en.wikipedia.org/wiki/Metadata_(CLI)[
^]