My approach is very similar to VictoriaPark's. I am a mobile worker; sometimes I work at my corporate office, sometimes at home, sometimes at a client's office. So I mostly use an @Work context.
I also keep an @Office context, but that is strictly for stuff that can only be done when I am physically in the company's office (this includes things like "Give my expense reports to Mr. Expense Approver"). Most of the time, this context list is empty, but it's nice to have a place to stick these location-specific actions.
When I work from home, I review both my @Work and @Home context lists (in addition to @Phone, etc.), because there might be something I can multitask on... like "Throw a load of clothes in the washer" -- I can certainly do that while I wait for that document to print. When I work in the office, I review @Office instead of @Home.
Unlike VictoriaPark, I do keep separate lists for my business and personal projects, calls, and agendas (if I had any business-related errands to run, I would probably keep those separate as well). For me, this approach just makes it easier to keep out the work-related noise during evenings and weekends, but I could probably merge them without causing too much trouble.