A Banach space X is called subprojective if any of its infinite dimensional subspaces Y contains a further infinite dimensional subspace complemented in X. This paper is devoted to systematic study of subprojectivity. We examine the stability of subprojectivity of Banach spaces under various operations, such us direct or twisted sums, tensor products, and forming spaces of operators. Along the way, we obtain new classes of subprojective spaces.