Roam is awesome but this and other reference management software serves a different purpose (for me, at least). I use BibDesk (like Zotero and other examples mentioned here) in conjunction with a plaintext (markdown) Zettelkasten[0]. BibDesk to save references (papers etc.) and copy formatted citations; which are then pasted into Zettels (c.f. a page in Roam).
I do this exact same thing! If I write a new Zettel that references something I read in a book (for example), all I do is get the ISBN of the book (usually off of Amazon), use Zotero's auto-import feature, copy the reference and paste it into my note. The whole thing takes all of ~20 seconds, it's very efficient.
I know Zotero has a lot of other features, but 99% of my workflow with it is what I described above.
[0] https://www.lesswrong.com/posts/NfdHG6oHBJ8Qxc26s/the-zettel...