BModel

BModel (bsp model, submodel, mapobject model) is a model constructed in level editor out of brushes or  patches and compiled into the .bsp file. Brush model can have triangle models attached (they become a part of the model). Doors, trains, platforms are bmodels.

BModel could be internal (supplied with the level and have special names such as *1, *2, *3 etc.) and external (BSP files). External BSP model differs from level file, it usually have no VIS data, entities, and other level-specific data.

Benefits

 * very fast to render
 * automatically get collisions
 * supplied with level .bsp's (no external files)
 * easy to construct in level editor (dont need a third party tools)
 * can be lightmapped or lit dynamically (using lightgrid)
 * can have triangle models attached

Drawbacks

 * cannot be animated (only moved/rotated)
 * badly optimized mesh (since it automatically generated from brushes)
 * complex models with lots of corners or curved surfaces is not that easy to make