The two tools have different feature sets, and implementations.
I've tried to represent both out-of-the-box feature sets here briefly, but as fairly as possible.

**SIMILAR FUNCTIONALITY** 

The *similar* functionality between the two is the ability to serialize Sitecore items to disk.
[Unicorn's README][1] summarizes the need for this really well, by stating it writes:-

> serialized copies of Sitecore items to disk along with the code - this
> way, a copy of the necessary database items for a given codebase
> accompanies it in source control

[TDS Classic][2] does this but installing a web service into your local site, and pushing/pulling content through it, using a Visual Studio extension UI, and through MSBuild.
[Unicorn][3] changes Sitecore's default Data Provider to use the serialized file on disk (.yml files) as the master copy. It then has it's own admin panel for pushing/pulling the item content between disk and Sitecore.

The control over this serialization is also available in both tools.

 - External triggering of pushing/pulling items.
 - Item Deployment for Continuous Integration/Continuous Delivery
 - Post Deployment Publish
 - Configuration for syncing item hierarchies
 - Automatic Syncing ([TDS Classic AutoSync][4],
   [Unicorn Transparent Sync][5])
 - Item Content Merging ([TDS Classic
   Item Merge Tool][6], [Unicorn's Rainbow Format][7])
 - Item Sync Performance Improvements ([TDS Classic Lightning Mode][8], [Unicorn
   Dilithium][9])

Overall, both tools are much better than the old way Sitecore assumed development would work (which was using Sitecore zip packages). That was very error prone... and both tools offer a much better process and item management that should be used in development.

**OTHER FEATURES**

**Unicorn** is a serialization tool, that states in it's README that it:-
> is free and open source, and does one thing well

In addition to the above features, while both tools have the ability to also sync Sitecore roles, Unicorn has the added ability to sync users as well, which TDS Classic doesn't.

**TDS Classic** is commercial product that began as a serialization tool, but became a much larger productivity tool, with many other opt-in features for efficient Sitecore development. 
New features are continually being added to every release, but here is a (non-exhaustive) list of those built-in features (as up to date with TDS Classic version 5.7). (It's probably best to reach out to [Hedgehog][10] directly or check the website/docs for a proper, up-to-date feature list and tool comparison, as I always forget some!)

- [Code Artifact Deployment][11]
- [Delta Deployments (partial project deployment)][12]
- [UI for Serialized File/Sitecore Item difference comparison][13]
- [UI for 'latest updated items'][14]
- [Multi level deployment granularity UI (Item, target, field)][15]
- [Update Package Creation for build artifact deployment][16]
- [Code Generation (including cross-solution code gen)][17]
- [Environment Validation][18]
- [Post Deployment Steps][19]
- [NuGet packaging of Item projects][20]
- [Project validations (preventing bad properties/content in a deployment)][21]
- [Content File Sync (auto copying front end files to your site)][22]
- [Project Audit Reports][23]
- [Copying of extra files outside of the code project][24]
- [Config Transforms][25]
- [Sitecore Rocks integration][4]

**EXTENSIBILITY**

TDS Classic is largely extensible with it's features via MSBuild, while Unicorn is largely configurable through Sitecore Include configs. Overall, build/deployment scenarios for **both** products can be customized... both with the ability to utilize custom code and/or third party modules to be able to do even more than what's offered out of the box.

**PERFORMANCE**

This is largely subjective, and will differ from project to project, and test to test. For example, on the Habitat demo site, Unicorn Dilithium has been found to be quicker when just syncing item content with no changes, but TDS Classic will out-perform it when syncing from scratch. TDS Classic also halves the Habitat full solution build/deploy (which arguably has more to do with gulp/MSBuild than Unicorn/TDS Classic, but factors into how developers work with Sitecore).
Performance should probably be a separate discussion, because it can vary so much between each individual machine, each project, each process, and for each available performance 'boost' used by each tool.

**COST**

Unicorn is free, TDS Classic is a paid product.

Licensing costs for TDS Classic varies (from first time purchase, returning purchase, bulk purchase, MVP purchase), so for better info, it's best to email [email protected] for that.

**SUPPORT**

Both tools have community support, usually through Slack and Stack Exchange. 

The TDS Classic license offers dedicated enterprise support through Hedgehog.


I hope I've covered most of the high level stuff, but am always happy to learn of other things that should be added to the comparison.

  [1]: https://github.com/kamsar/Unicorn/blob/master/README.md
  [2]: https://www.teamdevelopmentforsitecore.com/TDS-Classic
  [3]: https://github.com/kamsar/Unicorn
  [4]: https://www.teamdevelopmentforsitecore.com/Blog/tds-evolution-auto-sync
  [5]: https://kamsar.net/index.php/2015/10/Unicorn-Introducing-Transparent-Sync/
  [6]: https://www.teamdevelopmentforsitecore.com/Sitecore-productivity-boost/Item-Merge
  [7]: https://github.com/kamsar/Rainbow
  [8]: https://www.teamdevelopmentforsitecore.com/Blog/tds-classic-5-7-lightning-mode
  [9]: https://kamsar.net/index.php/2017/02/Unicorn-4-Preview-Project-Dilithium/
  [10]: https://www.teamdevelopmentforsitecore.com/
  [11]: http://hedgehogdevelopment.github.io/tds/chapter4.html#general
  [12]: https://www.youtube.com/watch?v=KIqZKDqWddA&index=18&list=PLb9QmtmxCbhl1uzG_XJ37Sc9fhsJNLfaM
  [13]: http://hedgehogdevelopment.github.io/tds/chapter4.html#the-sync-window
  [14]: https://www.youtube.com/watch?v=UBHHZdlHinM&list=PLb9QmtmxCbhl1uzG_XJ37Sc9fhsJNLfaM&index=21
  [15]: http://hedgehogdevelopment.github.io/tds/chapter4.html#deployment-properties
  [16]: http://hedgehogdevelopment.github.io/tds/chapter4.html#update-package
  [17]: http://hedgehogdevelopment.github.io/tds/chapter4.html#code-generation
  [18]: http://hedgehogdevelopment.github.io/tds/chapter4.html#environment-validation
  [19]: https://www.teamdevelopmentforsitecore.com/post-deploy-scripts
  [20]: http://hedgehogdevelopment.github.io/tds/chapter4.html#nuget-package
  [21]: http://hedgehogdevelopment.github.io/tds/chapter4.html#validations
  [22]: http://hedgehogdevelopment.github.io/tds/chapter4.html#general-options
  [23]: http://hedgehogdevelopment.github.io/tds/chapter4.html#project-report
  [24]: http://hedgehogdevelopment.github.io/tds/chapter4.html#file-replacement
  [25]: http://www.seanholmesby.com/sitecore-tds-4-0-config-transforms/