This is a wonderful new feature in SQL Server 2008. Data Collector in SQL Server 2008 is a component that is installed in a SQL instance and which can either be configured to run on your defined schedule or can run all the time and collect different sets of data pertaining to performance diagnostics, historical data for baseline comparisons, policy based data etc..

It can then be used to store this data into a relational database that is called the management data warehouse. So, how is it different than just using SQL Trace and perfmon? It actually provides a central point for data collection across servers and across applications and allows you to control what gets collected, allows you to report over it, allows you to create a data warehouse of this data for baseline and trend analysis, it allows you to extend it further using an API.