I am trying to understand the topological direct sum in normed vector spaces, i.e. the algebraic sum of two subspaces where the projections (or equivalently one of them) are continuous. I ran into some confusion when I read the Wikipedia article on complemented subspaces ($M$ for this purpose being a subspace of a normed vector space X over $\mathbb{K}=\mathbb{R}$ or $\mathbb{C}$):
$M$ is called complemented if it has a topological complement $N$ (and uncomplemented if not). The choice of $N$ can matter quite strongly: every complemented vector subspace $M$ has algebraic complements that do not complement $M$ topologically.
I believe this is wrong and I would claim the following. Let $X$ be a normed vector space, $M$ a closed subspace of codimension 1. Then each algebraic complement of $M$ is topological. If further $M$ is complete and has finite codimension, then also each algebraic complement is topological.
First, for codimension 1, let $x_0 \in X\setminus M$ and set $N=span(x_0)$. Then $X = M \oplus N$ algebraically and I claim that the projection $\pi_M: X \to M$ is continuous, which means that the sum is topological. But this implies, that each algebraic complement of $M$ is topological. We can carry on this argument to arbitrary finite codimension by induction if M is complete.
My proof: Without loss of generality, assume $\mathbb{K}=\mathbb{R}$. Assume first, that $M$ has codimension 1. The singleton $\{x_0\}$ is compact and convex, $M$ is closed and convex, so by geometric Hahn-Banach there exists a bounded linear functional $\lambda \in X^*$ and $c\in \mathbb{R}$ such that $$\sup_{x \in M}\lambda(x)<c<\lambda(x_0),$$ but since M is a vector space, we must have $\lambda|_{M}\equiv 0$. By scaling, assume $\lambda(x_0)=1$. All together, we obtain the functional $\lambda: M \oplus N \to \mathbb{R}$ where for $x\in M$, $t\in \mathbb{R}$ $$\lambda(x+tx_0) = t.$$ But composing this with the obvious isomorphism $\mathbb{R} \to N$, $t \mapsto tx_0$, we obtain that the projection $$\pi_M: M \oplus N \to N$$ $$x+tx_0 \mapsto tx_0$$ is continuous.
Until here, we only needed closedness of M. To proceed by induction, we need completeness:
Since the topological sum of two subspaces is always closed two complete subspaces is always complete (see my own answer below), we can conclude by induction for any finite codimension of $M$.
So, is this wrong? I might be missing something essential here, so I would be happy about any comment.
EDIT: If Wikipedia is indeed incorrect, is there a version of the statement which is true and can someone provide a reference?