Google Analytics' main job is really just generating the reports and statistics about your website, like how many people saw your website yesterday, what web browser they used, which pages were the most popular, etc. The only way it can know this stuff is if you put a "tag" on all of your pages. The tag is the javascript code on your pages that runs on the visitor's browser, which tells Google Analytics' servers that they are visiting the page right now.
There's no problem if you just want to put the tag in the master file of your website so it shows up on all of your pages. Google Analytics can use the "referrer" parameter to figure out which page the visitor is on and can do all the simple stuff like counting page views.
However, you may want to track how many people use a specific feature. Maybe you want to group certain pages together or count some similar but different URLs as being the same page. Now you need unique tags for all these different features and groups of pages so Google can identify which feature or type of page got used or visited. Now it's complicated! You have multiple tags, and you only want the tags to "fire" sometimes (e.g. don't fire unless they click this button or use this feature.)
Google Tag Manager makes it easier to manage this mess of tags by letting you define rules for when your tags should fire. It also lets you test your tags to make sure they go off when you load the right page or click a certain button. This is done by putting the Tag Manager's code on your website instead of the actual tags, and as Crayon's answer points out, the tag manager outputs the tags for you. This gives you another cool benefit: you can change your tags and the way they work without actually changing the source code of your website (which you may not be able to do because of slow-release cycles) -- instead you just change it from the Google Tag Manager website, and it will spit out different code on your pages dynamically when they're loaded in the visitor's browser.
Google Analytics' main job is really just generating the reports and statistics about your website, like how many people saw your website yesterday, what web browser they used, which pages were the most popular, etc. The only way it can know this stuff is if you put a "tag" on all of your pages. The tag is the javascript code on your pages that runs on the visitor's browser, which tells Google Analytics' servers that they are visiting the page right now.
There's no problem if you just want to put the tag in the master file of your website so it shows up on all of your pages. Google Analytics can use the "referrer" parameter to figure out which page the visitor is on and can do all the simple stuff like counting page views.
However, you may want to track how many people use a specific feature. Maybe you want to group certain pages together or count some similar but different URLs as being the same page. Now you need unique tags for all these different features and groups of pages so Google can identify which feature or type of page got used or visited. Now it's complicated! You have multiple tags, and you only want the tags to "fire" sometimes (e.g. don't fire unless they click this button or use this feature.)
Google Tag Manager makes it easier to manage this mess of tags by letting you define rules for when your tags should fire. It also lets you test your tags to make sure they go off when you load the right page or click a certain button. This is done by putting the Tag Manager's code on your website instead of the actual tags, and as Crayon's answer points out, the tag manager outputs the tags for you. This gives you another cool benefit: you can change your tags and the way they work without actually changing the source code of your website (which you may not be able to do because of slow-release cycles) -- instead you just change it from the Google Tag Manager website, and it will spit out different code on your pages dynamically when they're loaded in the visitor's browser.
GA is the analytics tool that provides reports about activity on your site. GTM is a tag manager that can output tags based on defined rules. So for example, you can either implement your GA code on your site directly, or you can implement the GTM code and use GTM to output the GA code.
The main benefit of GTM (or any tag manager worth anything) is that you can use it for multiple tags or code snippets or pretty much anything you want. Usually you implement a data layer and a set of rules, and then within the tag manager interface, put a new tag or code snippet under those rules, using stuff from the data layer. That way for example, if you use GA today and then tomorrow want to also implement a different analytics tool e.g. Adobe Analytics, you can just do it within the GTM interface following the same rules and data layer you setup already.
So IOW GTM is a container in which to output other stuff. GA is one of the "other stuff" you'd output.
Why do I need google tag manager? What is the difference between GTM and GA?
Definitive answer regarding Google Tag (GT-) vs Google Analytics (G-) and Google Ads (AW-) - Google Ads Community
What is the difference between google tag manager and google analytics? - Webmasters Stack Exchange
Google Tag Manager and Adobe Analytics
Adobe has its own tag management system called Dynamic Tag Management (or DTM). Not entirely sure if it comes free with Adobe Analytics or its an add-on product, but it should be able to do everything GTM can do.
More on reddit.comIs Google Analytics part of Tag Manager?
What is Google Tag Manager for dummies?
Can Google Analytics track social media?
Videos
I installed linkedin and twitter tags in google tag manager for all pages.
I don't know why I did that or why it's important.
Can someone explain it to me like I'm 5? Very grateful for any feedback.
Hugs
Google Tag Manager is mainly for non-developers who aren't comfortable with adding code to their sites. With it you can add one chunk of code to your website, and then manage the various different "tags" that are added through the Google Tag Manager interface, one of which you can add being Google Analytics.
From my limited experience, Google Tag Manager is only really helpful for adding tags related to Google products, so any time you're working outside of the Google ecosystem, you'll end up having to add tags the "old fashioned way" anyway.
As a developer, I've seen very little of use from Google Tag Manager, but non-developers may feel differently.
Google Analytics shows how users are interacting with your website or app. Google Tag Manager is a tag management service (TMS) used to simplify tag integration, including tags like Google Analytics pageviews or event tracking.
Generally, GTM is an optional layer used by large websites. One of the main benefits of GTM is automated link tracking. However, it can be quite challenging to learn, so you're better off learning Google Analytics first.