A "category" is a subset of a community.
On the Proposals community, each new proposal is a post, not a category. The categories are "Descriptions", "Incubator Q&A", and "Meta".
A "community", sometimes referred to as a "site" in the code, typically lives on its own subdomain, but can be part of a larger network. For instance, the Codidact Network has ~18 communities on its network; each subdomain, such as Software Development, is a community.
It is possible to set up an instance of a network that is just a single community; there is no requirement to have more than one. This is what you can do if, for instance, you're running a single instance locally.
A category is then a further division within that community. Taking Software Development again, there are currently three categories on that communitty:
Different categories can be set to have different access permissions, such as only certain users being able to view the category. As an example, take Judaism's Purim Torah category, which is only used during the Jewish month of Adar. During that month, it's visible to everyone; otherwise, it's only visible to mods and admins. It's also how the Codidact Blog works; everyone can view posts, but only Codidact Staff can post.
Different categories can share tags - or not. Taking Software Development again, the [python] tag is shared across both Q&A and Code Reviews, but the [bug] tag is contained to the Meta category.
Reputation can be earned for different categories, or a different level of reputation for posts in different categories can be set.
You can also set different required tags in different categories, and have specific posting guidance for different categories. Suggested edits display differently for each category.