Zotero works wonderfully for me. And it's open, which is a must.
Zotero works wonderfully for me. And it's open, which is a must.
That being said, Zotero is very much a "least worst" tool in my opinion.
* Overly rigid in how it goes about modeling document types and metadata fields.
* Doesn't handle bookmarks, browsing history, and other various data types. At first glance it's easy to dismiss such things as out of scope, but I find that my typical workflow results in reams of such unsupported data being generated and manually tracked by me. The problem is that this unsupported data is often tightly coupled to the data I'm managing with Zotero, which is frustrating to say the least.
* An incredibly heavy and inefficient piece of software.
* It's far too difficult to set up and manage my own sync server (last time I checked, at least). I don't really want to share all my data with the developers, but it's very inconvenient not to do so.
More on topic with the broader discussion - knowledge and data management in general seems to be a largely unsolved problem, particularly in science and particularly regarding interrelations between and versioning of arbitrary pieces of data.
In contrast, Zotero (and other reference managers) don't do any versioning at all (at least that I'm aware of). Instead, they keep track of the metadata that's necessary to put together a works cited section for an academic paper.
... or at least that's what they started out doing. These days they also try to organize your papers into some sort of category structure, facilitate tagging and notes, provide synchronization between your devices, and probably a few other things that don't come to mind right now.
Feature creep? Sure, but all that stuff is central to the research and writing process. It's also all tightly coupled, so splitting it between multiple tools doesn't work very well. And that's the current problem - how to integrate, for example, a few of your browser bookmarks with your academic literature collection. Or how to track a list of all the papers cited by a particular paper. Or link a specific paper tracked by your reference management software against a specific version of a large data set, perhaps itself tracked by Git LFS.
Generalizing a bit, what about linking experimental notes (typically pen and paper) with data collection software (typically a binary), as well as the collected data (perhaps Git LFS), as well as a specific version of some data analysis scripts you wrote (perhaps Git). Now try to track everything as you work on multiple paper revisions with collaborators, each version of which adds (and sometimes removes) citations and could use a different (likely newer) revision of the collection software, data set, or analysis scripts.
Alternatively, for a data management scenario not directly involving writing papers consider molecular cloning using plasmids. You have a dozen semi-related tubes in a cryogenic freezer that you need to track over many years (ie long term inventory management), each of which has one or more pieces of sequencing data attached to it (so a small data set), they're all interrelated (you create a new one by physically modifying an old one), and each has the typical meta-links to experimental protocols, notes, academic literature, and other things.
I'm not aware of any software solutions that comprehensively address all of this stuff, so people still use pen and paper. But pen and paper is time consuming, it's error prone, it doesn't sync between devices, it's slow and tedious to cross reference - all the typical problems that software is good at addressing.