In this article, I would like to focus on the issue of (not set) in AdWords report in Google Analytics.
I have experienced several situations:
Once, the report Keywords in AdWords section showed keyword (not set), making over 60 percent of all visits in the selected period.
However, after I compared data about Visits with data about number of clicks in AdWords, I found out that the numbers of visits and clicks are more or less the same. Accordingly, I assumed that the presence of (not set) in the keyword report was a mistake, which did not prevent me from optimizing the campaign. Therefore, it might be beneficial to check data from other source (AdWords).
Another time, the keyword (not set) appeared in the list. This time, there was a difference between visits and clicks.
In this situation, it is good to use the Campaign as a Secondary dimension in the report. You may see, if (not set) keyword is associated with a specific campaign and try to find a problem there. Moreover, you might experience that (not set) keyword is associated with (not set) value in campaign.
It means that you might have a mistake in tagging in both campaign and keyword.
Finally, it is also good to analyze, to what extend does (not set) problem affect your traffic, as a percentage of all your visits. There might always be a small discrepancy due to technical errors you cannot influence.
More resources on the issue directly from Google:
Google Analytics help