Is it only because steel has higher elasticity? What other factors are involved?
Concrete is very strong in compression but weak in extension, so it isn't good at supporting stretching or bending forces. By contrast steel is able to cope well with stretching and bending forces. So by combining the two you have a composite structure that resists compression as well as concrete and resists stretching and bending as well as steel.
In many cases the steel is held under tension while the concrete is setting. This produces pre-stressed concrete. Because this type of concrete is under compression even when bearing no load it is even better at resisting stretching and bending. As a result it is often used for elements like beams that are subjected to bending forces.
Let's take a look at what forces a concrete beam or column can be expected to handle:
- Compression, from weight being applied directly on it.
- Bending, from any bending moments.
Concrete can handle being compressed very well, since it's basically sand and gravel. It can stand compressive loads of 3000 - 6000 psi, which is huge.
However, it doesn't do so well with tensile loads. The tensile strength of concrete is merely a tenth of its compressive strength.
And, when you look at bending, you can see that the inner part of the bend has compressive stresses, but the outer part has tensile stresses, which makes a concrete beam pretty useless in bending.
On the other hand, steel has very good tensile strength, and embedding steel in a concrete beam takes the tensile load off the concrete, so to speak.