Elastic properties of rocks are functions of tectonic stresses. Using the theory of poroelasticity we analyze mechanisms of these dependencies related to changes of the rock-pore-space geometry. We develop a formalism describing elastic moduli and anisotropy of rocks as non-linear functions of confining stresses and pore pressure. It is the stress dependent geometry of the pore space that fully controls the stress-induced changes of elastic moduli and seismic velocities. Changes of the compliant porosity with differential stress explain the often observed exponential behaviour of elastic moduli. We introduce a tensor quantity defining the sensitivity of elastic moduli of rocks to the differential stress and call it the stress-sensitivity tensor. We show how anisotropy parameters depend on the stress sensitivity. Laboratory observations on rocks (e.g., porous basalts) are in a very good agreement with our formalism.