datawarehouse: intergrated,relevant data(subject oriented) from different sources are put together to a data base for business decisions. these data is appended as time goes by keeping historical data (of a certain time period). this kind of a db is a datawarehouse..( u have to imagine a big concern). this warehouse will have data about the entire business.
datamart : its like a datawarehouse for a particular department. hence they contain data relating to that dept only.
u can bring data from these sources thru native drives or other methods and clean the data(profile, analyse etc) transform them if needed and load to the dw.
meta data is data about data...eg this is wer the data is , col def of the table, it contains primitive data types etc..