What is the difference between vector space and dual space?
A vector space over a field $\mathbb{F}$ is a set $V$ with operations $+$ and $\cdot$ satisfying the vector space axioms. Given a vector space $V$, it's dual space $V^\star$ is defined as $\mathrm{Hom}(V,\mathbb{F})$, i.e. the set of all linear maps(functionals) between the vector space and its underlying field(considered as an own vector space in this case).
Normally, the Dirac notation $\langle v|w\rangle$ is a representation of a scalar product and the Bra and Ket correspond on a low level to vectors input in this scalar product. Note, that for the complex scalar product, order of the arguments is important due to its hermitian nature and its semi-bilinearity, i.e. that it is conjugate linear w.r.t. to one argument. A classical way is to define the standard complex scalar product to be conjugate linear in the second argument. In Bra-Ket-notation, you usually reverse the order of the arguments of the complex scalar product, i.e. $\langle x,y\rangle=\langle y|x\rangle$ resulting in conjugate linearity in the first argument.
The key thing is that there is a strong correspondence between scalar products and members of the dual space, i.e. linear functionals.
There is a way that any functional corresponds in a one-to-one fashion to a representation using the scalar product(of the associated vector space). This is known as Riesz representation theorem.
More precisely, you may look at a vector $v\in V$ and suppose that $\langle\cdot,\cdot\rangle$ is an associated scalar product(turning $V$ into a euclidean/unitary space in the real/complex case). Then the map $\varphi_v:w\mapsto\langle w,v\rangle$ is a member of the dual space $V^\star$ and the theorem says that any linear functional $\psi\in V^\star$ can be written as such a $\varphi_v$ uniquely.
Thus, you may convert a scalar product between two vectors into an application of a linear functional to another vector, pulling the problem statement into the realm of dual spaces, where you have other mathematical possibilities to tackle various questions.
EDIT: Note, that the definition of $\varphi_v$ of course depends also on the argument which is assumed to be conjugate linear, in this case the second, as linearity in the first is needed to make $\varphi_v$ a linear map(check this).
For the finite dimensional case we have for a column vector $u$: $$ u = \vert u \rangle\\ u^+= \langle u \vert $$ where $u^+$ is the transposed, complex conjugated, thus adjugated, vector. It is a linear form from $V$ to the scalar field.
If $V$ is a vector space then $V^*$, consisting of all linear forms of $V$, is a linear vector space as well.