Categories are tabs you can have display in your Inbox to help you organize your incoming messages automatically. You can almost also treat them like labels.
Labels are "tags" you put on messages. You have to explicitly put the label(s) on a message (or conversation), either through direct action or via a filter.
Categories, on the other hand, are Google's automated attempt to "categorize" your incoming email messages. While you can help adjust the algorithm by marking messages on which Google has guessed wrong, it's still Google automatically adding a category to a message for you. Fortunately, you get to choose which of the four extra categories will be used with your inbox and, if you want, you can have none of them.
As far as filters, by and large that counts as explicit action by you and is how you can automatically apply labels to messages that fit some criteria. But it's still entirely your criteria; Google's algorithm doesn't get involved.
Categories can be treated like labels in that you can have them appear like labels on message records when you're looking at a list of messages and while searching (e.g.,
More information from Google Support: Inbox tabs and category labels