So here we have presented the various aspects of time-to-event analysis which are commonly used when looking at survival. There are many other applications, some of which may not be obvious: for instance we use CPH for modelling length of stay in hospital.
Stratification can be used to deal with non-proportional hazards in a particular variable.
Hierarchical structure in your data can be accommodated with cluster or frailty (random effects) terms.
Competing risks regression may be useful if your outcome is in competition with another, such as all-cause death, but is currently limited in its ability to accommodate hierarchical structures.