One scenario that can happen is that the source of a layer can be unavailable, i.e. a "broken layer".
This would happen if say a user sends you a map document which points to a database (or data source) which you don't have. In this case you can either fix the layer in ArcMap (e.g. point it to the correct source) or just leave it.
Regardless, your software has to anticipate and deal with this situation.