So I have sample of 1987 observations. I'm checking how accounting measures can explain stock returns. If I do a regression of stock returns on CFO (cash flow) and Accruals, I get $R^2= 0.075$. But if I regress the stock returns on Earnings (CFO+Accruals) I only get $R^2=0.042$. I want to know how's that possible.
The reason is flexibility.
Option 1: When you regress $X_1, X_2$ on $Y$ you are allowing the coefficients to be different. In other words, your regression equation is $Y = \alpha + \beta_1X_1 + \beta_2X_2 + \epsilon$. Notice $\beta_1$ may equal $\beta_2$ if it wants to - if that's what the data suggests.
Option 2: When you regress $X_3 = X_1 + X_2$ on $Y$ you are forcing the coefficients to be the same - even if the data doesn't want them to be the same. Your regression equation becomes $Y = \alpha^\prime + \beta_1^\prime(X_3) + \epsilon = \alpha + \beta_1^\prime X_1 + \beta_1^\prime X_2+ \epsilon$.
A regression equation will always select values for the coefficients that minimizes SSE (and thus maximizes $R^2$) based on the data you give it. In option 2, it'll do it's best but this will never be better (in terms of $R^2$) then option 1. This is because every conceivable possible value for the vector of coefficients in option 2 is a subset of the conceivable possible value for the vector of coefficients in option 1.