If I register with a Mastdodon instance, then why do I need a "home Mastodon instance"? Wouldn't I just use the web frontend the instance I registered with provides?
In a literal sense, your username and password / authentication tokens live on that server and is unknowable to other servers.
You might imagine that if there was federation of accounts than any random user could simply eat up passwords/password hashes.
That said, you can presumably use any client as long as it uses the APIs of the home instance.
You can browse other instances and do a remote follow however where that instance calls back to your home instance to initiate the follow action but it requires you telling the remote server what your full ID is (@Timja@home.instance) so it knows where to call back to