So what is a Team Project exactly? (Or: How to structure your Team Foundation Server team project layouts)

"What is a team project made up of?"
"Should all of my developers work on a single team project, or should I have many team projects representing every logical project our team is working on?"
"What are the tradeoffs of using too many team projects?"
"What is the relationship between team projects and Visual Studio solutions/projects?"

These are questions I get a LOT when people are planning their Team Foundation Server deployments. There have been assorted bits of information scattered throughout the documentation and blogosphere which can help to address these questions, but Doug Neumann (Senior Group Program Manager on the Team Foundation Server team) recently authored a whitepaper to bring all of this knowledge together. Check it out here.