One problem that all previous versions of TFS suffered from was that if you worked in a large organization and had only one TFS server instance then you could potentially end up with hundreds of projects on that server. I hated this design because it did not let me separate out all related projects into separate sections.
In TFS 2010 a new feature called Team Project Collections has been added. Superficially what it looks like is as though you have multiple TFS instances on one single server. Basically now when you try and add a project through team explorer, you will not just specify/select the TFS server but also a TFS project collection. Here is an image from the TFS documentation that explains Team Project Collections…
Team Project Collections dont only allow you to corral all similar projects into collections, but it also allows you to specify a different set of hardware resources that each team project collection ends up using. This is a really cool feature because in our case we are starting of with a single machine deployment of TFS. When we begin outgrowing the single server model, we will be able to create a new Team Project Collection and have it use a new database server.
One thing to remember is that because each Team Project Collection will exist in its own database is that you will not be able to reference work-items between projects that exist in different team project collections. On the other hand, you will be able to backup any Team Project Collection on its own, as it is, its own database.
Some more information can be picked up from BHarry’s blog post: http://blogs.msdn.com/bharry/archive/2009/04/19/team-foundation-server-2010-key-concepts.aspx