Primary keywords are the main keywords that you are trying to target for Search Engine Optimization.
Secondary keywords would be related to the primary keyword, but not as high priority as your primary.
Long tail keywords are larger groupings of words that include your target keyword(s).
If I were building a site, I would look for highly searched, low competition keywords to try and rank for. These keywords would need buyer intent (so I could make money from the visitors) as well. I would make a list of these keywords that I want to target, and they would be known as my primary keywords.
Next, I would take that list of primary keywords, and individually research them to find keywords related to each. These are known as latent semantic index keywords (kind of another name for synonyms). They are search terms that are relevant to your primary keywords. These are known as secondary keywords. You will use them in the articles for your primary keywords to let search engines know that you are very relevant to the primary keyword.
Finally, long tail keywords are long search phrases that are not usually searched, but they would include your primary and/or secondary keywords in the search phrase.
Primary Keyword Example: Weight Loss
Secondary Keyword Example: Lose Weight Fast, Fat Loss, Get Ripped (all of which are related to weight loss)
Long Tail Keyword Example: The Fastest Way To Significant Weight Loss, or Get Ripped in 90 days without working out. (it is a long phrase that you could target specifically and usually get good rankings quickly because most people are only going for 'get ripped' or 'weight loss')
Hope this helps.