For a while now, I've been using a great programme called Papers to organise PDFs of journal articles along with their associated bibliographic metadata. I use the terrific BibDesk for the output side of references (formatting references into citations and a reference list in manuscripts), but I didn't find it so helpful for gathering, organising and reading articles. Papers, on the other hand, specialises in just those kinds of tasks.
You can do searches within Papers itself for articles, using a selection of the scientific databases like PubMed or Web of Science. You can also select a PDF you've downloaded outside of Papers, and try to 'match' the paper (using the same databases) to download the associated metadata. This is fantastic when it works, because it avoids a lot of tedious, error-prone typing of information.
My workflow is like this; I subscribe to various journal alerts for the areas I'm interested in, and get regular emails listing new articles, with links to the article online. If any of the articles look interesting, I visit the link and download the paper to my downloads folder. If I don't have time to deal with the papers at that moment, they stay in my folder for a while. Then, when I've got time to process them, I drag them into Papers to import them. Papers renames the files in a consistent way, and also moves them to a particular folder to keep everything tidy. I used to have to then match the papers to download the metadata, a process which sometimes failed for particular journals, or for articles which were only recently published. However, in Papers 1.7, there's a miraculous new feature which somehow automatically extracts the metadata from either the PDF or from the web site you downloaded it from on import. It's tantamount to magic to me, but however it works, it's a stunning feature and saves quite a bit of manual work.
Once the papers are imported, I flag them all, and can then view all my 'To Read' papers with a smart folder collecting together flagged items. As I read each one (the full screen PDF viewer within Papers is really nice), I tag it with appropriate keywords, then drag it into specific folders depending on whether it's useful for a particular project I'm working on, or as a reference for a specific module I teach). I also drag it into a 'For BibDesk' folder, which I periodically export to BibTeX format and import into BibDesk, so that forms my canonical list of references.
You can also generate a
papers:// URL for each reference, which when
clicked, opens the reference in Papers. That's useful when you're
writing notes on a paper in a text editor, and want a quick way of
opening the original. It's made the whole process of keeping up with
the literature a lot easier.