The word "karma" is often given negative connotations but it isn't necessarily negative - it encompasses everything.
Karma is divine natural justice.
It is cause and effect.
No, we don't always know the cause, hence we don't know what the effect ("our karma") will be. The only way to change it & perhaps create "good karma" is to give more than we get. That way, not only do you cancel out your debt to others but you give them even more ensuring that it has been twice cleared (but not necessarily creating a debt to you for the other person). In a radical case, if somebody holds a gun to your head and tells you to give them your shoes, you assume you owe them due to karma so you give them not only your shoes, but your coat as well.
Also, if you live your life by giving wholeheartedly and sincerely - not only are you cancelling out old "bad karma" but you avoid creating new "bad karma".
The whole concept is cyclical - you don't know when the effect to which cause will come but only know that it is coming, and every effect and the way we handle it creates a new cause...
That is my simple attempt to explain it. ;)