Structure of Complexity Classes: Separations, Collapses, and Completeness