This is the boring answer that your physics teacher would give you :-)

The diagram above shows an idealised rope with all it's weight concentrated at the centre of the rope. If the rope mass is $m$ then the force downwards is just $mg$, where $g$ is the acceleration due to gravity.
Suppose you're pulling on the rope with force $F$, and the angle of sag is $\theta$. Because the rope is at an angle, when you pull on the rope you're pulling partly sideways and partly upwards, and the upwards part of your pull has to balance out the force $mg$. If the angle is $\theta$ then the component of your pull in the upwards direction is just:
$$ F_up = 2Fsin(\theta) $$
and because this balances the downwards force, $mg$, we get:
$$ 2Fsin(\theta) = mg $$
To find out how hard you need to pull we rearrange this to get:
$$ F = \frac{mg}{2sin(\theta)} $$
For very small angles, $\theta$, we use the approximation that $sin(\theta) \approx \theta$ and our equation becomes:
$$ F \approx \frac{mg}{2\theta} $$
and you can now see why it's impossible to pull the rope straight. As you pull the rope straighter $\theta$ becomes smaller, and for the rope to be completely straight $\theta$ would have to go to zero. But the force is proportional to 1/$\theta$ so to get the rope straight the force would have to be infinite.
For light ropes/strings the force $mg$ is very small, so we can eaily pull the string straight enough that by eye we can't see the sag. The sag is still there but it's to small to see. With a heavier rope $mg$ is greater and we simply can't put enough force in to make the sag too small to see.