If I understand your question correctly, I think you mean when you create a class - its like creating a new Object(which is considered metadata) and the use of this created class(metadata) is that if you keep it public, you can simply instantiate it and use it in other classes to perform similar actions or use public methods created in this apex class.
Metadata is used while doing deployments from one org to another , Metadata is data describing data, so using metadata only files are moved from one org to another, metadata of object can be usefull in writing dynamic code (Not specific To any object) and so on.
Hope I have been able to answer your query, If so please mark it as the best answer.
Refer the below site
https://developer.salesforce.com/page/An_Introduction_to_Force.com_Metadata
Hope I have been able to answer your query, If so please mark it as the best answer.
Thanks
Varun
http://varunvatsa.blogspot.in/