I've not really understood why this happens. I'm quite new to the idea of limits, etc. But I've seen that when you use a grapher, it plots undefined points. For example in the function $f(x) = \frac{x^2+x-6}{x-2}$, the value $f(2)$ would be undefined, so why does a grapher not show that $f$ is undefined at $2$ and instead carries on through it? It seems to be plotting the $\lim\limits_{x \to 2} \frac{x^2+x-6}{x-2}$.
I hope this makes sense, apologies if it doesn't.

A simple way a computer can make a graph of a function $f$ on an interval $[a,b]$ is to divide $[a,b]$ up in $n$ ascending points $x_1,\dots x_n$ with $x_1=a$ and $x_n=b$ and then draw straight lines between $\left(x_i,f(x_i)\right)$ and $\left(x_{i+1},f(x_{i+1})\right)$. The number $n$ and the ways the partition $x_1,\dots x_n$ is chosen depends on the software and is often adjustable. If I use the following Mathematica code
to plot your function I get the following image.
If I now ask Mathematica which points it used to plot I get a long list of which these are a few:
$$\dots,(1.88078, 4.88078), (1.96018, 4.96018), (2.03801,5.03801), (2.12244, 5.12244),\dots.$$
So we see that the point $x=2$ wasn't sampled and as a result we might as well have asked it to plot $f(x)=x+3$. The shortcomings of this naive way of plotting are felt stronger when we for instance plot $f(x)=\tan(x)$. The code
produces the following image.
The software does not know that the function is not defined at $x=\frac{1}{2}\pi$. Sophisticated software often knows how or has a way to deal with this. In Mathematica this
produces