What exactly is the difference between weak and strong induction? I am having trouble seeing the difference between weak and strong induction.

There are a few examples in which we can see the difference, such as reaching the $k^{th}$ rung of a ladder and proving every integer $>1$ can be written as a product of primes:

To show every $n\ge2$ can be written as a product of primes, first we note that $2$ is prime. Now we assume true for all integers $2 \le m<n$. If $n$ is prime, we're done. If $n$ is not prime, then it is composite and so $n=ab$, where $a$ and $b$ are less than $n$. Since $a$ and $b$ are less than $n$, $ab$ can be written as a product of primes and hence $n$ can be written as a product of primes. QED


However, it seems sort of like weak induction, only a bit dubious. In weak induction, we show a base case is true, then we assume true for all integers $k-1$, (or $k$), then we attempt to show it is true for $k$, (or $k+1$), which implies true $\forall n \in \mathbb N$.
When we assume true for all integers $k$, isn't that the same as a strong induction hypothesis? That is, we're assuming true for all integers up to some specific one.

As a simple demonstrative example, how would we show $1+2+\cdots+n= {n(n+1) \over 2}$ using strong induction?
(Learned from Discrete Mathematics by Kenneth Rosen)
 A: Usually, there is no need to distinguish between weak and strong induction.  As you point out, the difference is minor.  In both weak and strong induction, you must prove the base case (usually very easy if not trivial).  Then, weak induction assumes that the statement is true for size $n-1$ and you must prove that the statement is true for $n$.  Using strong induction, you assume that the statement is true for all $m<n$ (at least your base case) and prove the statement for $n$.
In practice, one may just always use strong induction (even if you only need to know that the statement is true for $n-1$).  In the example that you give, you only need to assume that the formula holds for the previous case (weak) induction.  You could assume it holds for every case, but only use the previous case.  As far as I can tell, it is really just a matter of semantics.  There are times when strong induction really is more useful, the case when you break up the problem into two problem of size $n/2$ for example.  This happens frequently when making proofs about graphs where you decompose the graph on $n$ vertices into two subgraphs (smaller, but you have little or no control over the exact size).
