Q:

What do the hero categories mean? 

Heroes in Heroes of the Storm are divided in four categories: Support, Warrior, Specialist and Assassin. 
Support is pretty self-explanatory, but what do the other categories mean? 

A:

Assassins are high damage heroes, they are meant to quickly kill another hero.  They often have some method to chase down or 'stick to' an enemy.  They often have low health and poor survivability, especially if they are caught as they tend to have fewer escapes. 
Warriors are the tanky ones.  Their job is to distract and absorb damage, they can jump into the thick of things or they can 'peel' for the higher damage heroes. 
Supports do as their name suggests, they 'support' other heroes.  They usually do not do much damage and often do not have much health or mobility.  On their own they are quite weak, you will always want to put a support with another hero.  A support may be weak on their own but they are extremely important, do not leave them alone as they are free kills then.  A supports job is to help and improve their allies.  This can come in many forms, one of the most obvious ways is healing or shielding.  Some other things that a support can do is disrupt the enemy with silences, slows or stuns, often they can boost an allies mobility.  A support can sometimes improve their allies damage output through more damage, increased range or increased attack speed. 
Specialists do not fit into the other roles.  They can do a variety of other things, which isn't covered by the other roles.  These guys may do siege damage, doing massive damage to buildings, maybe even from out of the tower range.  They can often provide utility such as being able to take out minions in the jungle far easier than the others.  One does not even need to leave the base to be effective, they provide a stronger lane presence in the lanes without even being there which can be incredibly useful if utilized correctly.