In "An Introduction to Statistical Learning" (or actually anywhere else) R^2 (when close to 1) is defined as:
"R^2 value close to 1 indicates that the model explains a large portion of the variance in the response variable."
If R^2 is close to 1, the model is considered to fit the data well. Using the formula for R^2 (1-(RSS/TSS)) this makes sense.
But what confuses me: If the model doesn't explain the variance (i.e. R^2 goes towards 0), doesn't it then mean that the variance lies within the data, i.e. that the data has an inherently large variance? Consequently, if the data has a large variance, the model cannot make it any better?