Trees need soil. They don’t need a rich soil, but they do need it to not be compacted, to have a little bit of organic matter, and to be irrigated. Good soil that is not irrigated is of no use to a tree; terrible soil that is irrigated is of no use to a tree.
Trees need soil for a few reasons. Soil provides the friction on the root system that holds the tree in place. Soil holds the water that trees need to take in. Soil provides many of the nutrients trees need to grow.
In order for roots to grow through soil, the soil has to be sufficiently moist and sufficiently soft. Many urban soils are very hard due to compaction; roots don’t grow well, if at all, in compacted soils. Moisture in the soil helps soften it to some degree; however, a well irrigated but compacted soil will not support good root growth. Similarly, a sufficiently loose soil that is not irrigated will not support good root growth. Soil and water are two sides of the same coin; the tree cannot use one without the other.
Roots also need and use oxygen. Compacted soil doesn’t have as much air space, so it has little available oxygen. Plastic sheeting used as a weed barrier material don’t allow gas exchange between the soil and the air above, so those can suffocate roots and lead to poor growth, and even to eventual tree death.
Roots grow in two ways, by adding new cells and then by making those new cells bigger. This process pushes the tip of the root through the soil. As the things roots need (water, oxygen, nutrients, loose soil) are found close to the soil surface, roots tend to grow shallow. The majority of a trees roots will be found less than three feet deep. Some roots may grow deeper, if soil/water conditions allow, but even then the majority of roots are shallow. They do grow long, however, and can grow well beyond the edge of the branches (again, if soil/water conditions allow). This wide, shallow structure helps support the tree – like the base of a wine glass supporting the body of the glass above.