Most props should be static, but if you have a prop that isn't showing up when you test the map in-game, set it to prop_dynamic_override.
This is a dangerously simplistic explanation. Prop_dynamic_override is meant to be used to turn physics props that don't natively support prop_dynamic into a dynamic, non-physics prop. Let me explain.
Some models do not work as certain prop types. As others have adequately explained, there are three main possible
prop types: static, dynamic, and physics, all represented by the entity classes
prop_static,
prop_dynamic, and
prop_physics, respectively. Static props never move and are the cheapest for the engine to handle (and as such are the most frequently used). Dynamic props can be named, moved in simple ways (primarily by being
parented to another entity), and animated, and are more expensive than static props. Physics props act as physics objects (ie they can be knocked around, broken, and/or are otherwise subject to the laws of physics as they could best be recreated in the Source engine), and resultantly are the most expensive.
In the model browser, under the "Info" tab, you should be able to see what prop types are supported by the specified model (you may have to resize the model browser window to see the tab, though):
As you can see, this shipping container model supports being used as either a static or dynamic prop, but not as a physics prop.
Luckily, there are also two additional options you have when deciding your prop's class that help us solve this problem somewhat. They don't really qualify as their own prop types as they're based on existing prop types. These are
prop_dynamic_override and
prop_physics_override (there is no such thing as prop_static_override). These allow you to take a prop that is not designed for the corresponding prop type and use it as that prop type. Prop_physics_override will turn a dynamic prop into a physics prop. So, for example, if you wanted to use the above shipping crate model as a physics prop, you would need to make it prop_physics_override. As you can guess, prop_dynamic_override will turn a physics prop into a dynamic prop. This isn't something that you'll use often, as most of the time you should be using prop_static, and almost every model in TF2 supports being used as a dynamic prop, but there are a few, like props_farm\wooden_barrel.mdl, that can't be used as an ordinary dynamic prop.