We can only propose taxonomy. Plus there is many misuse of the terms. This is how I view things:
school (vada) - It's supposed to be school of thought, so school adherents should share common philosophical view. Probably in ancient times they was. But in modern practice, frequently, any group united by common root is called a school.
sect - sometimes people divide whole Religion into sects, but sometimes they call schools sects. Plus, term inherited from Christianity some negative connotations of heresy. Thus, sometimes word 'sect' is not liked at all.
branch - just general division which is not loaded term as a sect. For example, we can split whole Buddhism into branches (Tibetan, Chinese, etc), but also we can split some tradition into branches (Tibetan into Gelug, Kagyu, etc., or Kagyu into Karma Kagyu, Drikung Kagyu, etc.) It's general classification word like 'part', 'subdivision', etc.
tradition - what is survived (or evolved) to modern day from ancient ages. It's probably region based. But in practice interchangeable with sect or school too.
vehicle (yana) - some theoretical division of the Teaching, used by Buddha in some texts. It's more abstract division than real historical entity. Only historical we have about vehicles is attribution of some texts to vehicles and acceptance or not by some schools of these texts as canonical.
lineage - supposedly unbreaked personal inheritance of some teaching, or student-teacher relationships, from ancient to modern teacher (frequently lineage goes up to the Buddha himself).
vinaya lineage - historically is more important than adherence to philosophy, it's unbreaked succession of ordinance into Sangha by the rules for particular vinaya. Currently only three vinaya lineages are survived.
What else?