Contexts are, for me, ways of defining the resources needed to do a particular action.
@calls only require a telephone, and my address book with the number of the person. If I expect to make a lot of calls while away from my office, I'll double check to make sure that any relevant notes are with me as well.
@emails only require a computer with an Internet connection, and my address book with the person's email address. These often require notes as well, but I don't worry so much about that because I send almost all emails from my laptop.
@calls and @email help me group similar tasks together for efficiency. I find them helpful even though they overlap with @office.
@read/review only requires the physical object that I'm planning to read or review. These are the items I take with me to read at the dentist's office, on the train, whatever.
@write/edit only requires the notes for the particular project, but also a reasonably quiet place to work.
@read/review and @write/edit both require chunks of uninterrupted time. I can do them almost anywhere, but I can't easily wedge them into a few minutes of downtime, like I can with @calls.
@computer assumes all the software resources on my computer, plus an Internet connection. It does not assume the physical files in my office.
@office assumes all the resources of my office, including my computer, but also scanner, financial files, etc.
@home separates work tasks (@office) from household maintenance (@home). Since I work from a home office, this helps me keep the boundary between the two clear.
@errands, @library, @gym are self-explanatory. These are items that require a particular physical location.
Hope this helps,
Katherine