Yes and no, for example on Reddit there's a cars community and an auto community, they're moderated differently and so have different content even though they have the same subject. There are plenty of smaller communities for specific models of cars too; it's not like there's only the cars subreddit.
Having an instance attached is great imo, because it doesn't allow name squatting, anyone can make a cars community on their own instance now and grow it.
For the fediverse the large instances will probably have a lot of the generic popular communities, but it also allows groups to host their own instance for their niche. I think this is awesome, because those small niche communities are the best, and finding them is actually fun.
For example there's now a programming.dev instance that has the best programmer humor community, there's also a good rust community there. But there's also now a lemmyrs.org instance picking up steam and may take over. I'm subscribed to both, there isn't a limit.
As for finding community, there's a bunch of ways. Sidebars of your current favorite communities may link out to others; the communities tab of your instance, with All selected, will show any community any other user of your instance has subscribed to. But a good place to start looking for communities is https://browse.feddit.de