I use BibDesk for reference management. After a major academic event such as a conference, I access the proceedings website using BibDesk. ACL anthology indexes all papers for NLP conferences, IEEE Explorer can be used for IEEE conferences, ACM digital library works for ACM conferences, and Google Scholar in general for any. The BibTex entries can be imported to BibDesk from within BibDesk with a url to the paper. That is it. I then assign papers a To READ tag (keyword) or to a Prority Reading list. I then read those papers and assign keywords and annotations. I use Skim for reading and annotating PDFs on Mac.
For PDFs I find online, I send them to CiteULike and then import them to BibDesk from there. CiteULike can extract most of the attributes from PDFs (scientific papers) such as title and authors. I can use BibDesk again to access CiteULike and import these references.
Mendely is also a good tool if you want to find related papers.
This is my workflow.