* free software
* Linux and multi-platform support
* browser extension "that just works" for ingesting items and magic lookup tool for DOIs and arXiv IDs (and I hardly ever have problems with the metadata)
* shared group libraries for collaboration with students
* offline only as well as sync
* the ability to add notes, tags, and relational links between items.
After reading about Luhmann's Zettelkasten[1] system, I've also had a great productivity boost by implementing a similar scheme in Zotero. After reading an article, I write up a summary of my ideas and thoughts and attach it to the article as a literature note. I then keep a primary repository of notes in a flat folder with links between them and the literature notes as my makeshift Zettelkasten. While not as stream-lined as some special purpose note taking tools, Zotero can do a pretty decent job at this while also having all the advantages of it's bibliographic system, file syncing, etc.
Something I wish it had for this purpose was an "auto-complete" for other entries and a graphical tree viewer of relations. However, these aren't so bad not to have, part of the genius of Luhmann's original paper card notes system seems to have been the critical thinking required to determine which handful (1 to 3) of notes are most related and the serendipitous discovery process from having to manually walk the note files when you need to find something.