Obstacles are objects that 'get in the way' of regular buildings. They are things like rocks and trees that need to be cleared before you can build to an area. Clearing obstacles takes time, and usually has both a cost and reward associated with it.
In the engine Obstacles are also Buildings but they have the special flag isObstacle set to true. For convenience the sample game places these files in a different XML file (ObstacleData.xml) but this is not required.