Exactly. If you select ‘local’ you’ll only see local communities but you’ll see other’s posts and comments on there. If you select ‘all’ you’ll see communities from all federated instances. The instances just share stuff between themselves as long as their federated. If there is a ‘bad’ instance then your local instance might decide to not federate with them.
Yeah. Each instance is able to run their local communities how they want. Basically each instance is it’s own thing with its own rules and subs (communities). You can join that instance by creating an account there and your settings, saves etc will be maintained there.
You can’t use that login to log onto another instance, but your posts and any communities on that instance are shared with other instances so people on other instances can see your posts. The other instances don’t know about you directly, but since your instance name is there in your account name e.g. MoonKitten@lemmy.world, an instance knows it can go ask lemmy.world about MoonKitten to get information.
tldr; accounts only work on the instance you signed up on, but instances talk to each other and exchange posts, user info etc.