The digital world is a world of abundance. The most scarce resource in your research process is always going to be your own time. Ideally, then, you only want to pay attention to those things which absolutely require it–everything else should be handed off to computer programs. The digital world is also a plastic world, where anything can change without warning. Bookmarks are of little value, and the last thing you want to do is engage in a long and fruitless online search for something that you know you found once.
What this means in practical terms is that whenever you look at something, you want your computer to have a copy of what you’ve seen. If you need to look at a source again to cite it, or quote it, or reread it in the light of new information, that source should be instantly ready-to-hand. You can accomplish this by always saving a local, digital copy of everything you read, along with basic metadata: who created it? where did you find it? when did you look at it?
If you read something on paper, digitize and OCR it, then add the metadata to a bibliographic database. There are many options here. You can use Zotero in the Firefox browser on any platform. On the Mac, Sente, Bookends and Mendeley are all popular choices. (I’ve used all of these in my own research. Each has advantages and disadvantages, so you might have to try a few before settling on something that really works for you. The main point is that you need a bibliographic database, so choose one). If you look at something online, download a copy and OCR it if necessary. If you are browsing the web, take a screenshot of the information you want to keep, and OCR it. The Mac already has excellent built-in screen capturing abilities, but I also use LittleSnapper because it gives me more flexibility in what I save.
I like to keep all of my local copies of documents as PDFs because the format keeps the text and image layer of the document together. I use a consistent file naming convention so that I know what a source should be called if I already have a copy of it. Dates in filenames are always YYYYMMDD, so the files get sorted in chronological order when I look at the contents of a folder. I don’t use capital letters, spaces, or any punctuation other than dot, dash and underscore in my filenames. This makes it easier to write programs to process whole batches of files. (It is possible to write a program to parse any filename, of course, but who needs extra hassle?)