Here's a geometric way of seeing it:

vectors are points in space;
equivalently, dim 1 subspaces (lines) and magnitudes (unique except for $0$):
  a point on the subspace

covectors are affine hyperplanes;
equivalently, codim 1 subspaces and magnitudes
You can visualize that as ``how far from the origin'' the hyperplane is.

To evaluate a covector and a vector, viewed this way:
what multiple of the vector lands on the hyperplane?
Note that this is bilinear, and well-defined except for when the
line and the hyperplane are parallel, meaning the vector is in the
kernel of the covector (in particular, this works for $0$)

Note that given an inner product of $V$, you get a duality between
vectors and covectors (viewed in this way) via perp: perp to a line is
a hyperplane.

This is ultimately coming from affine duality (galois connection):
$V \times V^* \to K$,
where $x \mapsto \set{v \st v(x) = 1}$

---------------------------------
More ultimately, this comes from projective duality;
the reason we get a problem with $0$ is b/c we're running into the
hyperplane at infinity, in some sense
(this is a good example of how we get ``limits'' and ``degeneration''
in algebraic geometry:
visually, take two lines in the plane that are intersecting.
If you rotate one, then their intersection will be one point for
almost all points, but then will blow up to being the whole line when
they coincide.)
