An obstruction prevents an entity from walking over top of things that it is not supposed to.
For example: Say you have a house on your map. Naturally you wouldn't want your entity to be able to walk through, or on, its walls, so you would place an "obstruction" over top of the area you don't want the entity to walk on/through.
A custom shaped obstruction, is the same concept only the obstruction is shaped around the object you wish to obstruct. By default an obstruction is a 16x16 tile, that obstructs the entire 16x16 area. In some cases a tile only requires a certain area to be obstructed. It's here that we would create our own obstruction around the object so that the areas that don't need to be obstructed aren't, and the one's that do are.