At its core, the difference is in the individual's inherent value of money as compared to material goods.
Someone who is "thrifty" values money, but not more than what it can buy. A thrifty person is smart about money, and is frugal, but not to the point of undue sacrifice. Such a person may, for instance, purchase a generic or store brand of food that is similar in taste and nutrition to a name brand. They may be more apt to spend time than money by undertaking "do it yourself" projects around the home.
Someone who is "stingy" values money itself more than what it can buy, and seeks to save money in ways that are socially or morally unacceptable, or that induce undue hardship on themselves or others. A stingy person may tip poorly or even not at all at a restaurant, or may insist on using an inferior or even unsafe product or amount of same in a situation, because it is cheaper than using the proper amount of a more effective or safer product.
The distinction is almost always in the eye of the beholder, and there can be significant differences in viewpoint. A person who saves plastic food containers - such as for ice cream or margarine - to reuse around the home may be viewed as thrifty by one observer but stingy by another.