Based from what I've learned, "not provided" keywords are terms that users used when they are logged in to your accounts, but I believe that there now ways in order to capture that traffic (you can refer to search engine land). On the other hand, "not set" are those that came to your site directly.
Well google keeps the keywords private unfortunately, so most keywords show as not provided or they don't show.