I think I found the answer after a little hint by VgAcid above. Notice 2 things, 1st is explanation by VgAcid and 2nd is noticing graphs of chapter on limits :
1) the limit of g at x=3, equals, 3 is equal to 5, but the value of g at x=3 is undefined! They are not the same! That's the beauty of limits: they don't depend on the actual value of the function at the limit. They describe how the function behaves when it gets close to the limit. It means closed-circle (value not defined) does not affect the limits in anyway.
2) We find limits by sliding-along the graph or walking-on the lines of the graph, never by matching x values to y (this is what I was doing). When you slide-along or walk-on the lines of the graph you see from x = 9 to x = 8 and then towards x = 7, graph-line is moving towards y = 4 , graph-line moving towards y = 4 means x is approaching y = 4 (it does not matter if that y = 4 value is excluded, you have to see where the lines on the graph go)
P.S. I think the culprit (at least the associate of culprit) for this confusion is the equal sign (symbol ?) $=$. When we are using $x$ with $limits$ we are using $x \to 7$ but when we are using $g(x)$ we are using $=$: $$ x \to 7, g(x) = $$
We read it as as x approaches 7 then g(x) is equal to , hence the confusion. g(x) may or may not be equal to the value. 2nd, we are interested in $limits$ (opposed to values). $x$ and $g(x)$ are doing the same thing, approaching some value, but using different notation for same cause is the reason behind this confusion. It would have been much better if it had been something like this:
$$ x \to 7, g(x) \to $$
But who I am to say this. Mathematical notation, whatever it is, exists for a reason. Mathematics always a synonym for clarity and terseness. There must be a reason behind using $=$, in same expression, for both assigning values and approaching values.