"TFS is based on SVN. Really."
Really? This seems very unlikely as there is no mention in the license and the repository is a SQL Server database. Even if this were true, Subversion is a technology that is in decline. DVCS offers substantial advantages.
"I'm really not sure where all the TFS hate comes from."
It comes from using SourceSafe, Subversion, ClearCase and, more recently, Git. Doesn't stand up to any of them except possibly SourceSafe - though that's hardly a great accolade.
"It's heavily integrated with VS..."
And that's part of the problem. What if I don't/can't use VisualStudio? For example, our database design is done in Erwin. The hoops we have to go through to make sure that TFS doesn't get its knickers in a twist! Maybe its because Erwin generates binary files (TFS sends the whole file not diffs, which makes the whole thing even slower than it is normally). In contrast, Notepad++, WinMerge, File Explorer and even VisualStudio seamlessly integrate with Tortoise/SVN making my workflow seamless and painless. The difference between the two is striking. Another example: We generate SQL scripts from Erwin and then check these scripts into TFS. When TFS sees that these files have changed (even though it is usually just the date stamp that has changed), it will download all the SQL scripts (there are lots of them!). For some reason this process takes 10 times longer than a normal refresh - I can wait 20 minutes for it to complete, instead of about 2 minutes. Why does it even need to download the files that are the same except for the date stamp? 20 minutes x once a week x a four year project... Wow, what a waste of time!
"Check out/check in seems like a tedious process"
Check out/Check in IS a tedious process when you realize its completely redundant. TFS has an option to remove this requirement, however management seems to think this is a good idea as 'it helps avoid merges'. Face/Palm. Case in point: Our developers are split across two sites, and I often fly between them. While working on the Subversion based project, I worked on the plane. My workflow was essentially uninterrupted. Now I'm working on the TFS based project, I am forever having to bring up file explorer to change Read/Write permissions. If I want to add a file to a project... well, its easier to wait until I arrive at my destination. With a DVCS my workflow would be *exactly* the same - and I'd even have a full history of all the files!
"There is no integration with Windows Explorer."
Yes, there is if you install the TFS Power Tools. I don't recommend it though as it seems to screw the performance of Windows.
TFS is not a source control system, its a developer control system designed to allow middle management to fiddle with security, lock files and generally dick about with the development process. If you really want that kind of functionality, I'm sure there are better ways. Avoid at all costs.
No, really, all the spinning fans and disks in modern PCs give me a headache. If SSDs go some way to getting rid of that noise, I for one, will be happy.
Function reject.