"Federation" is essentially how instances are connected with and talk to one another. Think of it more like email clients rather than other social media sites: with email clients, it doesn't matter what site you use to make your account, because you can still email anyone else that has an email address. In the case of the "fediverse," meaning the network of federated instances (including those from GNU Social, Friendica, Hubzilla, Diaspora, etc.), the instances are your email clients. You make your account on one instance, but you can still talk to users that made their accounts on other instances.
How the fediverse differs from an email client is obviously in that you can make posts, rather than just sending messages. When you make a post on the instance that you use, that post is displayed to other users in a similar way to most other social media platforms, through displaying it on a timeline. In the case of federated instances, when one user ("Alice," for example) follows another user ("Bob") from a different instance, the instance Alice is from subscribes to Bob's posts. This means that when Bob makes a post, it is not only sent to users from their own instance, but also to the instances of users that are subscribed to their posts, like Alice.
Not all instances are federated with every other instance in the fediverse. For example, awoo.space is an instance that is only federated with mastodon.social. This means that only users on mastodon.social and awoo.space will be delivered posts made by users on awoo.space that mastodon.social has subscribed to, and users on awoo.space will only be able to see posts from users on that instance and from users on mastodon.social that awoo.space has subscribed to. Mastodon.social, on the other hand, is federated with hundreds of other instances, so users on mastodon.social will be able to see posts from users that it has subscribed to on any of those instances.
Back to FAQ.