Yes, discarded and stale are two different things.
From the CGMiner 2.9 ReadMe...
SS is stale shares discarded (detected and not submitted so don't count as rejects)
DW is discarded work items (work from block no longer valid to work on)
DW is no longer displayed in newer versions of CGMiner and therefore is not mentioned in the latest ReadMe.
I've seen an increased discarded rate on my miners and believe it is either a result of using the stratum protocol or using a pool that does merged mining. I haven't been able to find much information on it, but I want to say that I read somewhere stratum may result in more discarded work but reduces rejected or stale shares so ultimately it is better. Hopefully someone more knowledgeable can correct me if I'm wrong or provide more information. My discarded rate is usually around 20% with BitMinter, but rejected and stale are always 0 or at worst < 1%.
I will put the codes used in CGMiner into the info boxes (tooltips) that appear when you put your mouse over a value in CGWatcher, though as I mentioned some may no longer be displayed in new versions of CGMiner.
Admittedly I have quite a bit to learn about how mining software works so there may be a better monitoring option than checking to see if accepted, rejected, stale, or discarded don't increase over x minutes (all four have to not increase to trigger the restart.) My thinking was a problem with the pool would cause these numbers to not change, and I've remoted into my own miners and have seen them stuck because the pool went down/had issues and CGMiner did not switch to the backup pool correctly. So as I find problems with my own miners, I try to add options to catch them. As I learn of better ways to check for problems, these options may change in future versions.