Yes, it is as simple! An equivalent but more explicit way of specifying the same model you did is as follows:
lm(Sales ~ Price + CompPrice + Price:CompPrice,data=Carseats)
The underlying model fitted by lm will be:
Sales = beta0 + beta1xPrice + beta2xCompPrice + beta3xPricexCompPrice + epsilon (*)
Model (*) allows the effect of Price on Sales to depend on CompPrice:
Sales = beta0 + (beta1 + beta3xCompPrice)xPrice + beta2xCompPrice + epsilon
Indeed, the slope of Price depends on CompPrice.
Model (*) also allows the effect of CompPrice on Sales to depend on Price:
Sales = beta0 + beta1xPrice + (beta2 + beta3xPrice)xCompPrice + epsilon
Here, epsilon is an unknown (random) error term and Price and CompPrice are assumed to be continuous predictors.