Why can't we find shortest paths with negative weights by just adding a constant so that all weights are positive?
Adding a weight to every edge adds more weight to long paths than short paths. (Long in the sense of having many edges.)

For example, suppose the lowest-cost edge has weight&nbsp;$-2$ and there are two paths from $a$ to&nbsp;$b$: a single edge of weight&nbsp;$3$ and a path with two edges, each of weight&nbsp;$1$.  The two-edge path has the lowest weight.  However, if you add $2$ to every edge, the one-edge path has weight&nbsp;$5$ but the two-edge path now has weight&nbsp;$6$, so you get the wrong answer.