Ok, take two. I feel bad now that my shooting TFS off might have created the wrong impression - all my responses to this thread have been rushed, and perhaps too emotional.
To take a step back, I'll recount my experiences with TFS...
I come from a very developed CI environment, cc.net, intergrated with a swath of tools and libraries. We use svn for vcs, nunit (mbunit at times), ncover, wix, fxcop, jira, ndepend, and various others that slip my mind. Anyone who's set up such an environment will know that it is not a trivial task, and takes much effort. Once running, it works well.
I jumped at the idea of TFS, as I mentioned, the integration and ease is extremely compelling, and, if done well, is quite a silver bullet. I could have the same results of the above mentioned tools without the pain of intergration, and a common thread between them all. I want this, and I know that it could add significant value to any team. TFS is extremely expensive compared to the above, though. Partnerships and the like reduce this cost, but it still prices itself into a market that smaller shops often cannot afford.
I was extremely happy to consult with a team that was already using TFS, so I could experience it first hand without the time and resources to set up to evaluate. I had seen the demos, and was excited as everyone else. The only suite that compares is the rational toolkit, and anyone who's used that knows that it's pretty painful.
The project was large (members of my team are still on it, around 70+ VS projects, many, many LOC). In a financial environment, the quality of each build is paramount, and to ensure this we needed to make extensive use of branches and corresponding merging. Merging is not a trivial task, and takes quite some skill to do right. I know first hand from these merges that TFS was not best of breed. Some automerging was inexplicable, LOC disappeared, were overwritten and the like. This turned a task that could have taken hours into one that took days. We had to stop using branches in some cases because the merges were too risky.
Lack of offline support was incredibly hindering (although we learnt later that there are powertools that helped, the fact that we needed to use them is still a concern). I has developers "checking out" the whole code base in the evenings so they could wrap up their work when they were home. The following working day having to manually track which items had been added was, simply, a nightmare, and also extremely risky.
CI was missed, but not essential. We just had regularly scheduled builds. This was a pity, but we did ok. Again, there were ways around, and we found them.
When we joined the team, the default "check out and lock" model was selected. Anyone who's had a team member leave a few crucial files checked out and locked for a weekend and needed them knows first hand how this hurts. (My comments regarding Brian Harry were directly related to this, I can only presume that this model is in TFS is due to his involvement, since most other VCS's don't consider it a necessity. Please remember, I respect and admire the guy, I just think we differ on a few key points regarding vcs.)
These are significant issues against TFS as far as the way I've come to work go. Others might not find these a problem, so fair play.
I think the real magic of TFS is in the Test edition. Having those web stress and functional tests is really awesome, and I haven't seen many other tools that get that right. Again, this was based on a demo I've seen, and I'll evaluate these in time, and they might be enough to sway me over.
Having just seen the recent comment, I reiterate, I don't think TFS "sucks", it was a shorthand for some very signifant lacks, which mean that I can't use it (yet?). I have kept up with the roadmap, though, and will never discount it from future evaluations.
Again, though, don't assume MS invented most of these, and that if you can't afford TFS you have to do without. There are other tools out there, which, if you're prepared to invest the effort, can do a better job than TFS in many cases.
VSS does suck, and I will flame on on that 
And finally, use what works for you. I'm hot-headed and opinionated, and I'm not going to apologise for being as such. If I shoot something off, consider that there is always an implicit "IMO", because that's all they are.
Have a good weekend.
The high road might seem longer at first, but you'll enjoy the downhill at the end...
http://blog.benhartonline.com/