I have a multiple regression model with some of the independent variables as discrete. I think I heard somewhere as some of the variables are discrete I would not expect to get a R-squared of 100%, Why is this?

(I do realise that in practice I would never get 100% anyway, but I just want to know the reasoning for this particular case as opposed to normal)