I assign contexts based on where I'm most likely to do (insert task). There are certain things - related to work - that I'm more likely to do at home. Those get an @home context. Etc.
Truthfully, software is the driving force behind my use of contexts. I was a huge The Hit List fan, but slow progress and possible abandonware led me to Omnifocus. The Omni folks built their software with an implicit understanding that people would work from contexts. C'est la vie, when in Rome...
On a day to day basis, I use Mark Forster's DWM system/rules, which provides me with an accurate picture of what I've committed to, and motivation - both push and pull - to get stuff done.