To be able to understand how Google Tag Manager works, you need to know some very simple terms.
Those terms define the what, the where and the how.
It is hard to understand everything without some technical knowledge. First of all you should be familiar what a URL, a referral URL is. Basic HTML knowledge is also required. If know what is the DOM, a DOM element or a DOM attribute, it could help you as well.
Now lets see what additional terms you should know if you are using Google Tag Manager.
If you read the introduction article you may already know what a tag means in Google Tag Manager. Basically it can be any kind of code snippet: a tracking code for your Analytics solution, a conversion code to track sales, etc. A tag describes the what question.
You can read more about tags and about what tags are being supported in the related help article.
Triggers (aka. Rules)
Some tags, like Analytics tags has to be included in each and every page and post you create including your homepage as well. On the other side, PPC conversion tags should only be shown on specific pages, like a “thank you for your order” page. You have to have the ability to control where your tags should be shown (or using terms of Google Tag Manager: fired).
Triggers are there to control this. Triggers can be created to include a tag on every page or just on specific pages. You can specify a trigger using parts of the URL for example. This could tell Google Tag Manager to include certain tags only on a page which has a url: /thank-you.html
You may also use other parameters like referral URL as well. You could include a tag for example only if the visitor is coming from example.com
Next to the above described “include triggers” you can define exclude triggers as well. You can tell Google Tag Manager for example to include an Analytics tag on every page except your admin pages (i.e. where URL includes /admin/)
You can read more about triggers in Google Tag Manager’s related help article.
Variables (aka. Macros)
In some cases you have to include dynamic parameters in your tags. For example you can create a tag that tracks clicks on email links. The actual email address varies by link so you can not hard code the email address while you create the tag in Google Tag Manager.
This is the case when variables can be useful. A variable is like a paper box which you can fill with whatever you want. You can create and name a variable and define where it should get its value from. In this case, this could be the text of the clicked link. As you can see variables can define the how.
More about variables in the related Google Tag Manager article.