I am just curious to know what is the difference between jcr:primaryType and jcr:mixinTypes, and why exactly does jcr:mixinTypes is used ? what does it signifies ? If you check
Mixin Types are similar to interfaces, one node could have multiple mixin types.
You can enable features for your node with mixins, for example tagging, see: Taggable content