Discards are pool or protocol. In stratum/GBT you make up work as you go, if the block changes, the work is discarded. If it's stale and submitted or duplicated work, its rejected. HW errors are just that, the hardware hung doing something and had to be reset.
as long as your work is mostly accepted shares, you are good. If you see a very high % ( >10 % ) of rejected/stale or HW errors then something is wrong.
Thanks for the info Aseras!
So far I think my stats look good.