There will be 40 base hero types at launch. Each of these base types will have the same look and skills. 40 is not enough so hero traits are the main way we create massive differentiation between heroes. A hero earns 1 trait per rarity and maxes out at 5 traits at legendary. There are 300+ possible traits which means there are 19B+ possible variations of a hero. Some examples of traits are: 10% fire damage, 12% axe damage, 20% armor vs beasts, etc. Traits are very powerful and can greatly increase the power of your hero.